0

我对 mvc4 和 webforms 的“混合和匹配”进行了一些研究,发现了一些链接,尤其是这个。

似乎可行,除了我想将此添加到现有的 webforms 应用程序中,其 global.asax 代码隐藏我无权访问。我通过将我的 dll 放到应用程序根目录的 bin 文件夹中来更新当前 webforms 应用程序的一部分。

如果我不能在 global.asax 的 application_start 方法中注册路由、过滤器和捆绑包,还有其他方法吗?

换句话说,这段代码会去哪里?

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
        AuthConfig.RegisterAuth();
    }
4

2 回答 2

1

您将不得不以某种丑陋的方式破解它,因此最好的解决方案是说服控制 global.asax 的人给您某种钩子。

但是路由可以在任何地方注册,只要它只在应用程序生命周期的早期发生一次,所以也许是某个地方的静态构造函数?

他们的问题是确保在应用程序启动期间访问持有 ctor 的类型,这可能会带来新的麻烦,但它可能是可行的。

但同样:启动事件中的某种钩子会更可取。

于 2013-07-26T18:40:22.937 回答
0

看看App_Start文件夹。根据关于代码项目的文章

“而且在使用任何需要从 Global.asax 使用 Application_Start 的新块包时,我们也可以避免接触 Global.asax 文件”

于 2013-07-26T18:53:42.310 回答