gpt4 book ai didi

ASP.NET MVC Area 在本地服务器上运行,而不是在 Azure 上运行

转载 作者:行者123 更新时间:2023-12-03 01:53:40 26 4
gpt4 key购买 nike

我有一个用于管理的 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" }
);
}
}

关于ASP.NET MVC Area 在本地服务器上运行,而不是在 Azure 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29669302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com