0

我正在尝试通过区域在我的 ASP MVC 应用程序中实现模块的概念。我在主解决方案中添加了一个名为 TimeSheet 的项目(我说它只是作为参考)并将其注册为一个区域,但没有使用 Visual Studio 的模板生成区域,所以我自己编写了 XXXAreaRegistration.cs(在模块中)并在主应用程序的 Application_Start 中使用 AreaRegistration.RegisterAllAreas()。

Visual Studio 解决方案的图像

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。我研究了很多,但没有明确的答案。

我错过了什么?

4

1 回答 1

0

遗憾的是,我决定以经典方式回滚到区域。这项研究会很有趣,但是根据我在周围发现的点点滴滴,我无法在合理的时间内找出一种工作方法……我目前缺乏这种方法。

谢谢

于 2015-11-12T10:02:13.813 回答