2010-01-12 27 views
2

dans mon ASMX WS Application_Start est appelé lorsque la première demande arrive. C'est un peu trop tard pour moi. Est-il possible de l'appeler quand iisreset est fait?comment faire pour appeler Application_Start (dans Global.asax.cs) avant les demandes dans le service Web asmx sur IIS 6.0

Dans what is the right way to spawn thread for database IO in asmx web service? J'ai demandé au sujet des données du système de préchargement et les gars m'ont conseillé de faire la charge dans Application_Start. Cependant, si c'est fait seulement à la première demande, c'est la même chose et donc le conseil de ne pas utiliser du tout.

Répondre

2

Si vous possédez le tout dernier IIS 7.5, vous pouvez consulter le Application Initialization qui vient d'être ajouté. Personnellement, je ne l'ai pas utilisé, mais il semble qu'il pourrait avoir certaines des choses dont vous avez besoin.

Vue d'ensemble

application IIS Warm-Up pour IIS 7.5 Beta 1 permet aux professionnels d'améliorer la réactivité de leurs sites Web en chargeant les applications Web avant que les premières demandes arrivent. En chargeant et en initialisant de manière proactive toutes les dépendances telles que les connexions à la base de données, la compilation du code ASP.NET et le chargement des modules, les professionnels de l'informatique peuvent s'assurer que leurs sites Web sont toujours réactifs. Le pool d'applications est recyclé.

Avantages:

diminuer le temps de réponse pour les premières demandes par travailleur préchargement les processus d'applications IIS Warm-Up permet aux professionnels de configurer l'application Web pour être pré-chargé au début du Web serveur avant l'arrivée de la première requête. En pré-chargeant l'application, le processus de travail est capable de réduire le temps nécessaire pour répondre à la première requête Web. Le chargement et l'initialisation des dépendances telles que les connexions à la base de données, .NET Framework et la compilation juste à temps pour les applications ASP.NET et les dépendances ont déjà été effectués au moment où la requête arrive sur le serveur.

Augmentez la fiabilité en préchargeant les processus de travail en cas de chevauchement du recyclage Les temps de réponse pour les premières demandes dans un scénario de recyclage superposé sont également réduits en pré-chargeant les dépendances. Le processus de travail recyclé ne communiquera que son état de préparation et commencera à accepter les demandes après la fin du chargement et de l'initialisation des ressources, comme spécifié par la configuration.

Personnaliser le préchargement des applications Le préchauffage d'application IIS peut être configuré pour initialiser des applications Web à l'aide de pages Web et d'identités utilisateur spécifiques. Cela permet de créer des processus d'initialisation spécifiques qui peuvent être exécutés de manière synchrone ou asynchrone en fonction de la logique d'initialisation. De plus, ces procédures peuvent utiliser des identités spécifiques afin d'assurer une initialisation correcte.

+0

Je suis désolé. j'ai oublié la version. J'utilise IIS version 5.1 et 6.0. y a-t'il quelque chose que je puisse faire? –

+0

Si ce n'est pas possible dans les versions antérieures, c'est absurde. Je pense que le besoin existe depuis la version 0.1 puisque presque toutes les applications ont des tâches d'initialisation. –

+0

La plupart de ces tâches d'initialisation peuvent avoir lieu à la première demande. –

-1

Vous pouvez créer un programme simple pour effectuer une demande factice auprès de votre service Web. Cela déclenchera Application_Start la première fois.

Exécutez ce programme simple en tant que tâche planifiée, exécuté au démarrage de l'ordinateur.

+0

merci John! Je pensais que aussi. Le problème est que les serveurs ne sont jamais fermés. Je suis vraiment étonné qu'il n'y ait aucun moyen de faire des initialisations à l'avance ... pensez-vous qu'il est possible de programmer quoi que ce soit en fonction du démarrage d'IIS? –

+0

Oui, il y a. Dans IIS 7.5. Assurez-vous que votre direction connaît la raison de cette mise à niveau. Ensuite, peut-être qu'ils vont améliorer dans un an ou deux. –

+0

"en cours d'exécution au démarrage de l'ordinateur", cela ne sera pas forcément utile si le recyclage de la piscine est activé. Vous pouvez l'enregistrer en tant que service Windows et l'exécuter périodiquement pour correspondre au recyclage du pool. –

Questions connexes