我有一个测试解决方案,它只有一个名为 Admin 的区域。
我想在许多其他 Web 应用程序中重用 Admin。
我在 IIS 中有一个 Web 应用程序设置,然后我添加了一个虚拟应用程序,/Admin
来自Areas\Admin
.
当我导航到 /Admin 时,我会看到一个目录列表。当我尝试点击控制器时,/Admin/News。我收到 404 错误。即使代码在 global.asax 中,也可能是这些区域没有注册。但是,我确信我做错了。
请建议更改以使这种情况起作用。
我有一个测试解决方案,它只有一个名为 Admin 的区域。
我想在许多其他 Web 应用程序中重用 Admin。
我在 IIS 中有一个 Web 应用程序设置,然后我添加了一个虚拟应用程序,/Admin
来自Areas\Admin
.
当我导航到 /Admin 时,我会看到一个目录列表。当我尝试点击控制器时,/Admin/News。我收到 404 错误。即使代码在 global.asax 中,也可能是这些区域没有注册。但是,我确信我做错了。
请建议更改以使这种情况起作用。
区域不能按照您的想法重用(使用虚拟目录)。它们只是根 Web 应用程序不可分割的一部分。它们只是嵌入到根应用程序路由中,没有它就无法运行。通过将虚拟目录指向您的Areas
文件夹,您表明这是一个单独的 ASP.NET 应用程序,但事实并非如此。
像MvcContrib Portable Areas这样的项目旨在解决这些问题。值得一看。此外,如果您想将一些 Razor 视图嵌入到您可以在不同的 ASP.NET MVC 3 应用程序之间重用的程序集中,您可以查看以下博客文章。