0

我有一个ASP.NET MVC区的管理,这是AdminAreaRegistration.cs代码ASP.NET MVC区工作本地服务器上,而不是在Azure上

public override void RegisterArea(AreaRegistrationContext context) 
    { 
     context.MapRoute(
      "Admin_default", 
      "myadmin/{controller}/{action}/{id}", 
      new { action = "Index", id = UrlParameter.Optional } 
     ); 
    } 

不要在一个局部的问题在Visual测试时Studio,区域内容载入成功。

现在我已经将该网站发布到Azure,并且管理区不会加载到生产服务器上,我收到此错误。

路径'/ myadmin /'的控制器未找到或未实现IController。

Area代码位于我的主项目中,我经过验证将它作为.dll存在于Azure中,所以我不认为Azure缺少文件。

有什么想法?

回答

0

确定这是真的微不足道,我很愚蠢的在浏览器中键入错误的道路。 : -/

/myadmin/路径从未在本地工作过。我整个时间都在使用/myadmin/home,但我没有注意到,因为它是书签。 /myadmin/home在Azure上加载也没有任何问题。

0

您是否将AreaRegistration.RegisterAllAreas();添加到Global.asax?

和区域名称必须与当前的名字被覆盖,就像例如:

public class AdminAreaRegistration : AreaRegistration 
{ 
    public override string AreaName 
    { 
     get 
     { 
      return "myadmin"; 
     } 
    } 

    public override void RegisterArea(AreaRegistrationContext context) 
    { 
     context.MapRoute(
      "Admin_default", 
      "myadmin/{controller}/{action}/{id}", 
      new { controller = "Admin", action = "Index", id = UrlParameter.Optional }, 
      new[] { "Admin.Controllers" } 
     ); 
    } 
} 
+0

谢谢你的提示!事实证明,我只是在浏览器中使用了错误的路径 - 呃。 – Andrew

相关问题