例如,在Web API应用程序中,
之间有什么区别[assembly: OwinStartup(typeof(MyClass), "MyMethod")]
和
[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(MyClass), "MyMethod")]
答案 0 :(得分:35)
它们在高级别上是相似的,因为它们允许您对Web应用程序进行初始化,但它们在某些重要方面有所不同,如下所示:
WebActivatorEx.PreApplicationStartMethodAttribute
定位的方法将在应用程序启动之前执行。这允许你做一些事情,比如注入HttpModule等。OwinStartupAttribute
定位的方法将在Application初始化后执行。这是因为OwinHttpModule
调用了这种启动,它本身是使用System.Web.PreApplicationStartMethodAttribute
注入的。owin:AutomaticAppStartup
System.Web.PreApplicationStartMethodAttribute
,从.NET 4.5开始,可以在程序集中多次使用。总而言之,这是根据所使用的属性执行方法的顺序。
System.Web.PreApplicationStartMethodAttribute
WebActivatorEx.PreApplicationStartMethodAttribute
Application_Start
方法)OwinStartupAttribute
答案 1 :(得分:5)
我找到了答案here:
在不再使用WebActivatorEx的新SignalR API中。 OwinStartup首选而不是WebActivator 。