Alternativa al pool de aplicaciones startMode = "AlwaysRunning"

Si una aplicación web se llama para ser configurada con su aplicación de pool para ser configurado en el applicationHost.config como:

<add name="AppPool" managedRuntimeVersion="v4.0" startMode="AlwaysRunning" /> 

¿Se lograría el mismo resultado simplemente solicitando una página del server cada minuto? ¿O también el establecimiento de startMode a este valor tiene otras implicaciones?

Parece ser lo mismo. Aparentemente, ya que Microsoft vio a los desarrolladores que tenían que hacer esto, crearon esta nueva característica para manejar automáticamente esto.

[Desarrolladores], ya sea diseñar scripts personalizados para enviar requestes falsas a la aplicación periódicamente para "despertarlo" y ejecutar este código antes de que un cliente lo golpee, o simplemente causar el desafortunado primer cliente que accede a la aplicación a esperar mientras esta lógica termina antes procesamiento de la request (lo que puede conducir a un largo retraso para ellos).

ASP.NET 4 se entrega con una nueva característica denominada "auto-start" que mejor se ocupa de este escenario, y está disponible cuando ASP.NET 4 se ejecuta en IIS 7.5 (que incluye Windows 7 y Windows Server 2008 R2). La característica de inicio automático proporciona un enfoque controlado para iniciar un process de trabajo de aplicación, inicializar una aplicación ASP.NET y aceptar requestes HTTP.

Desde las aplicaciones de ASP.NET de Auto-Start de Scott Guthrie (VS 2010 y .NET 4.0 Series) .

Así que a less que no esté utilizando IIS 7.5, diría que simplemente use la funcionalidad incorporada.

(Y gracias, no sabía acerca de esta característica, pero definitivamente puede pensar en los sitios que desarrollar para que pueda utilizarlo.)

IIS 7.5 incluye un indicador adicional en un sitio o nivel de aplicación denominado preloadEnabled . Establecer esto como verdadero creará una request falsa para calentar el sitio. Debe usarse en conjunción con autoStart .

autoencendido

 <add name="{yourapppoolname}" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" startMode="AlwaysRunning" /> 

preloadEnabled

 <site name="YOURSITENAMEHERE" id="4″> <application path="/" applicationPool="YOURAPPPOOL" preloadEnabled="true"> <virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\YOURSITENAME" /> </application> </site>