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

相關問題