在 Application_Start 和 Application_Endrequest 中连接和运行一些代码而不必每次都将代码放在 MvcApplication 类中的首选方法是什么?
也许有一个事件、一个属性或我可以在 asp.net 4 中连接的东西?
在 Application_Start 和 Application_Endrequest 中连接和运行一些代码而不必每次都将代码放在 MvcApplication 类中的首选方法是什么?
也许有一个事件、一个属性或我可以在 asp.net 4 中连接的东西?
HttpApplication 类上有很多事件。但是,您仍然需要一些可以引导事件连接的东西。
你可以看看PreApplicationStartAttribute。它允许您在应用程序编译之前连接代码以运行(尽管应用程序实例不会那么早可用)。
这不是一个正确的说法,即“让您在应用程序编译之前连接代码以运行。 ”
您创建的 WebActivator 类实际上会编译到程序集中,但允许您在运行时挂钩 3 个事件:
1.) PreApplicationStartMethod 2.) PostApplicationSTartMethod 3.) ApplicationShutdownMethod
来自 David Ebbo 的描述:
“WebActivator 是一个 NuGet 包,它允许其他包轻松地将启动和关闭代码引入 Web 应用程序。这提供了一个比必须使用许多包中的启动逻辑修改 global.asax 更简洁的解决方案。”
使用 WebActivator 不仅限于其他包的启动代码,它还可以用于您的应用程序的启动代码(引导)。
例如,我在最近使用 MVC3 完成的一个项目中使用它来设置和配置我的 Unity 依赖项、我的 Combres 设置和我的 51DegreesMobi 设置。它允许我为每一个都拥有一个单独的类文件,而不会在 Global.asax 中弄乱或输入一行代码。
它也是 .NET 4 PreApplicationStartMethod 更好的替代方案,因为您可以拥有许多具有 WebActivator.PreStartupMethod 的类,并且它们都将在 App-Start 之前运行,而不是我相信您的 .NET 4 属性'只允许使用一次。