我的问题是关于为内部用户和外部用户设置应用的访问权限。
基于MS TechKB: AREAS in ASP.NET,我选择了AREAS。我有Areas/Internal
和Areas/External
。 Areas/External
具有应用程序的实际功能和控制器。所有Areas/Internal
都检查服务器变量,如果它在活动目录中签出,则将您的身份设置为您的域名。
问题是,我可以很好地到达Areas/External
控制器/页面但是当我尝试浏览到Areas/Internal
区域控制器时,我得到了404.我的控制器被命名为{{1} (不包括名称中的“Controller”)这就是我的Intranet
文件的样子:
InternalAreaRegistration.cs
有谁能告诉我为什么我会在内部控制器上获得404?
答案 0 :(得分:0)
您在上面编写的代码中的区域之后似乎缺少控制器段。它应该是这样的:
public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Internal_default", "Intranet/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional }, namespaces: new[] { "Your Controller Namespace" } ); }
以下链接中的相关问题已得到解答,希望这也有助于: Controller with same name as an area - Asp.Net MVC4