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.PreApplicationStartMethodAttribute
se 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
OwinStartupAttribute
se ejecutarán después de que la aplicación se haya inicializado. Esto se debe a que este tipo de inicio es invocado porOwinHttpModule
que 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.PreApplicationStartMethodAttribute
que 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 .