我正在尝试通过区域在我的 ASP MVC 应用程序中实现模块的概念。我在主解决方案中添加了一个名为 TimeSheet 的项目(我说它只是作为参考)并将其注册为一个区域,但没有使用 Visual Studio 的模板生成区域,所以我自己编写了 XXXAreaRegistration.cs(在模块中)并在主应用程序的 Application_Start 中使用 AreaRegistration.RegisterAllAreas()。
TimeSheetAreaRegistration.cs(在模块中)
public class TimeSheetAreaRegistration : AreaRegistration
{
public override string AreaName
{
get { return "TimeSheet"; }
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"TimeSheet_Default",
"TS/{controller}/{action}/{id}",
new { controller = "Home", action = "get", id = UrlParameter.Optional },
new string[] { "TimeSheet.Controllers" }
);
}
}
Globa.asax(在主应用程序中
protected void Application_Start(object sender, EventArgs e)
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
//BundleConfig.RegisterBundles(BundleTable.Bundles);
// Nascondo la versione di MVC (X-AspNetMvc-Version)
MvcHandler.DisableMvcResponseHeader = true;
}
它工作正常,但事实上我无法访问包含我需要的一些信息的主应用程序的 HttpContext。我研究了很多,但没有明确的答案。
我错过了什么?