Alternativa para o pool de aplicativos startMode = “AlwaysRunning”

7

Se um aplicativo da Web solicitou que ele fosse configurado com seu pool de aplicativos a ser configurado no applicationHost.config como:

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

O mesmo resultado seria obtido apenas solicitando uma página do servidor a cada minuto? Ou a configuração de startMode para esse valor também tem outras implicações?

    
por Chris Marisic 14.06.2010 / 23:47

2 respostas

6

Parece ser o mesmo. Aparentemente, desde que a Microsoft viu os desenvolvedores terem que fazer isso, eles criaram esse novo recurso para lidar automaticamente com isso.

[Developers] then either devise custom scripts to send fake requests to the application to periodically “wake it up” and execute this code before a customer hits it, or simply cause the unfortunate first customer that accesses the application to wait while this logic finishes before processing the request (which can lead to a long delay for them).

ASP.NET 4 ships with a new feature called “auto-start” that better addresses this scenario, and is available when ASP.NET 4 runs on IIS 7.5 (which ships with Windows 7 and Windows Server 2008 R2). The auto-start feature provides a controlled approach for starting up an application worker process, initializing an ASP.NET application, and then accepting HTTP requests.

De Scott Guthrie's Aplicativos ASP.NET de Auto-inicialização (VS 2010 e .NET 4.0 Series) .

Então, a menos que você não esteja usando o IIS 7.5, eu diria que apenas use a funcionalidade incorporada.

(E obrigado; eu não sabia sobre esse recurso, mas posso definitivamente pensar em sites que eu desenvolvo para que pudessem usá-lo.)

    
por 16.06.2011 / 14:30
3

O IIS 7.5 inclui um sinalizador adicional em um nível de site ou aplicativo chamado preloadEnabled . Definir isso como true criará uma solicitação falsa para aquecer o site. Deve ser usado em conjunção com autoStart .

autoStart

<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>
    
por 11.11.2014 / 12:53

Tags