ASP.NET MVC 区域在本地服务器上运行,而不是在 Azure 上运行
ASP.NET MVC Area works on local server, not on Azure
我有一个 ASP.NET MVC 管理区域,这是 AdminAreaRegistration.cs
中的代码
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"myadmin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
在 Visual Studio 中测试时,本地没有问题,区域内容加载成功。
现在我已将网站发布到 Azure,但管理区域未加载到生产服务器上,出现此错误。
The controller for path '/myadmin/' was not found or does not implement IController.
区号在我的主项目中,我验证它作为 .dll 存在于 Azure 上,所以我认为 Azure 没有丢失文件。
有什么想法吗?
您是否将 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" }
);
}
}
好吧,这真的很微不足道,我愚蠢到在我的浏览器中输入错误的路径。 :-/
/myadmin/
路径在本地也从未起作用。我一直在使用 /myadmin/home
,但我没有注意到,因为它被添加了书签。 /myadmin/home
在 Azure 上加载也没有任何问题。
我有一个 ASP.NET MVC 管理区域,这是 AdminAreaRegistration.cs
中的代码 public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"myadmin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
在 Visual Studio 中测试时,本地没有问题,区域内容加载成功。
现在我已将网站发布到 Azure,但管理区域未加载到生产服务器上,出现此错误。
The controller for path '/myadmin/' was not found or does not implement IController.
区号在我的主项目中,我验证它作为 .dll 存在于 Azure 上,所以我认为 Azure 没有丢失文件。
有什么想法吗?
您是否将 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" }
);
}
}
好吧,这真的很微不足道,我愚蠢到在我的浏览器中输入错误的路径。 :-/
/myadmin/
路径在本地也从未起作用。我一直在使用 /myadmin/home
,但我没有注意到,因为它被添加了书签。 /myadmin/home
在 Azure 上加载也没有任何问题。