我有一个测试解决方案,它只有一个叫做Admin的区域。
我想在许多其他web应用程序中重用Admin。
我在IIS中安装了一个web应用程序,然后添加了一个来自Areas\Admin的虚拟应用程序/Admin。
当我导航到/Admin时,我看到一个目录列表。当我尝试点击控制器时,/Admin/News。我得到一个404错误。可能是区域没有注册,即使代码在global.asax中也是如此。然而,我确信我做的一切都是错的。
请建议更改以使此情况生效。
发布于 2011-07-12 05:31:42
区域不能像你想的那样被重用(使用虚拟目录)。它们只是根web应用程序不可分离的一部分。它们只是嵌入到根应用程序路由中,没有根应用程序路由就无法运行。通过将一个虚拟目录指向您的Areas文件夹,您就表示这是一个单独的ASP.NET应用程序,但事实远非如此。
像MvcContrib Portable Areas这样的项目就是为了解决这些问题。值得一看。此外,如果您想将一些Razor视图嵌入到一个程序集中,以便在不同的ASP.NET MVC3应用程序之间重用,您可以看看following blog post。
https://stackoverflow.com/questions/6656843
复制相似问题