asp.net - que - WebActivatorEx vs OwinStartup
owin y jack (2)
Ambos son similares a un alto nivel en el sentido de que le permiten llevar a cabo la inicialización de su aplicación web, pero son diferentes en algunas formas importantes como a continuación:
- Los métodos a los que apunta
WebActivatorEx.PreApplicationStartMethodAttributese ejecutarán antes de que se inicie la aplicación. Esto le permite hacer cosas como inyectar un HttpModule, etc. - Los métodos seleccionados por
OwinStartupAttributese ejecutarán después de que la aplicación se haya inicializado. Esto se debe a que este tipo de inicio es invocado porOwinHttpModuleque a su vez se inyecta utilizandoSystem.Web.PreApplicationStartMethodAttribute. - El inicio de Owin se puede deshabilitar a través de la configuración mediante el uso de una configuración dentro de web.config de
owin:AutomaticAppStartup - También existe
System.Web.PreApplicationStartMethodAttributeque a partir de .NET 4.5 se puede usar varias veces dentro de un ensamblaje.
Entonces, para resumir, este es el orden de ejecución de los métodos dependiendo de los atributos utilizados.
-
System.Web.PreApplicationStartMethodAttribute -
WebActivatorEx.PreApplicationStartMethodAttribute - Global.asax (método
Application_Start) -
OwinStartupAttribute
En una aplicación WebAPI, por ejemplo, ¿cuál es la diferencia entre
[assembly: OwinStartup(typeof(MyClass), "MyMethod")]
y
[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(MyClass), "MyMethod")]
?
He encontrado la respuesta here :
En la nueva API de SignalR ya no utilizo WebActivatorEx. OwinStartup prefirió en lugar de WebActivator .