O atributo serviceAutoStartProvider é necessário para iniciar automaticamente um aplicativo ASP.NET?

11

Eu tenho lido a postagem de Scott Guthrie no Auto-Start ASP.NET Applications , que fornece exemplos de como configurar um aplicativo ASP.NET 4.0 para iniciar automaticamente.

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

<!--...-->
<sites>
     <site name="MySite" id="1">
          <application path="/" serviceAutoStartEnabled="true"
              serviceAutoStartProvider="PreWarmMyCache" />
     </site>
</sites>

<!--...-->
<serviceAutoStartProviders>
     <add name="PreWarmMyCache" type="PreWarmCache, MyAssembly" />
</serviceAutoStartProviders>

O que não está claro em sua postagem é se a seguinte configuração iniciará automaticamente um aplicativo ASP.NET:

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

<!--...-->
<sites>
     <site name="MySite" id="1">
          <application path="/" serviceAutoStartEnabled="true" />
     </site>
</sites>

A diferença aqui é que não há classe especificada para inicialização. Idealmente, o aplicativo seria carregado apenas. A documentação no Aplicativo para um site implica que o serviceAutoStartEnabledatributo requer que um serviceAutoStartProvideratributo funcione. Mas não há indicação do que acontece se o atributo adicional não for fornecido.

  • Estou lendo a documentação corretamente?
  • É serviceAutoStartProvidernecessário especificar para utilizar serviceAutoStartEnabled?
  • O que acontece se não serviceAutoStartProviderfor especificado?
ahsteele
fonte

Respostas:

10

As funções de aquecimento, especificamente aquelas relacionadas ao IIS, foram descontinuadas ou não foram mais desenvolvidas. O artigo de Scott era de antes do VS2010. Eles reescreveram a pilha inteira em um novo módulo IIS.

Agora você pode configurar tudo isso diretamente do IIS usando o Módulo de inicialização do aplicativo . O módulo fornece mais recursos e funcionalidades do que o mecanismo de aquecimento que você está procurando.

Brent Pabst
fonte
Vou jogar com esse módulo de inicialização de aplicativos , mas imagino que marcarei isso como a resposta aceita em breve. Obrigado por responder, eu odeio quando as perguntas desaparecem, imaginei que eu ganharia o distintivo Tumbleweed nessa! ;)
ahsteele 13/08/2012
@ahsteele Ha, eventualmente as pessoas vasculham as perguntas antigas. Leva algum tempo de vez em quando. Espero que preencha o vazio para você.
Brent Pabst