L'attributo serviceAutoStartProvider è necessario per avviare automaticamente un'applicazione ASP.NET?


11

Ho letto il post di Scott Guthrie su Auto-Start ASP.NET Applications , che fornisce esempi su come impostare un'applicazione ASP.NET 4.0 per l'avvio automatico.

<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>

Ciò che non è chiaro dal suo post è se la seguente configurazione avvierà automaticamente un'applicazione ASP.NET:

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

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

La differenza qui è che non esiste alcuna classe specificata per l'avvio. Idealmente l'applicazione verrebbe caricata. La documentazione relativa all'applicazione per un sito implica che l' serviceAutoStartEnabledattributo richiede un serviceAutoStartProviderattributo per funzionare. Ma non vi è alcuna indicazione di ciò che accade se l'attributo aggiuntivo non viene fornito.

  • Sto leggendo la documentazione correttamente?
  • È serviceAutoStartProvidernecessario specificare un requisito da utilizzare serviceAutoStartEnabled?
  • Cosa succede se non serviceAutoStartProviderviene specificato nessuno ?

Risposte:


10

Le funzioni di riscaldamento, in particolare quelle relative a IIS, sono state interrotte o non più sviluppate. L'articolo di Scott proveniva da pre-VS2010. Hanno riscritto l'intero stack in un nuovo modulo IIS.

È ora possibile configurare tutto questo direttamente da IIS utilizzando il modulo di inizializzazione dell'applicazione . Il modulo offre più caratteristiche e funzionalità rispetto al meccanismo di riscaldamento che stai esaminando.


Per giocare con questo il Modulo di inizializzazione dell'applicazione , ma immagino che presto lo segnerò come risposta accettata. Grazie per la risposta, odio quando le domande languiscono, ho pensato che avrei guadagnato il badge di Tumbleweed su questo! ;)
ahsteele,

@ahsteele Ha, alla fine la gente traina le vecchie domande. Ci vuole solo del tempo ogni tanto. Spero che riempia il vuoto per te.
Brent Pabst,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.