2009-11-30 3 views
3

Je suis passé de php à asp.net pour un certain projet, et j'ai créé une application web et tout s'est bien passé.Compilation de l'heure de chargement de la première page

J'ai une question cependant .... quand je navigue sur mon site Web la première fois, il charge pendant environ 8-10 secondes. Je suppose que le code est en cours de compilation en ce moment. Si je retourne sur le site, ça va charger très vite. Cependant, si j'y suis retourné le lendemain, il sera de nouveau compilé.

Je me demandais si quelqu'un pouvait élaborer sur ce qui se passe? Je comprends qu'il doit compiler une fois, mais pourquoi le fait-il encore le jour suivant? Y at-il de toute façon que je puisse éviter cela?

Merci pour tout conseil/aperçu,

Andrew

+0

Il est une application Web et non Site, oui? Juste pour reconfirmer. –

Répondre

2

En raison de l'application ASP.NET est redémarré.

raisons possibles:

  • pool d'applications IIS est configuré pour recycler le processus de travail.
  • Autre application touche (modifie ou au moins réécrit simplement) web.config.

Y at-il de toute façon que je puisse éviter cela?

Oui.

  1. Désactiver le recyclage du pool d'applications IIS.
  2. Assurez-vous que web.config n'est pas touché par un autre processus. Ce sont généralement des programmes anti-vurus, mais assez rares. Donc, la première option est 99,9% est la cause.
  3. Précompilez l'application ASP.NET. This et this pages expliquent comment.
+0

Merci, le recyclage était en marche, alors je l'ai éteint. Les liens de précompilation étaient également utiles. – Andrew

0

Avez-vous redémarrer votre machine? Chaque fois que IIS est redémarré, il devra à nouveau compiler votre site. Sinon, il ne recompile probablement pas, il frappe le disque car le code n'est pas dans le cache.

Cela ne devrait pas être un problème lorsque vous avez déployé votre application, uniquement lorsque vous avez une configuration de développement.

+0

Un temps de recherche de 8 secondes pour un fichier sur le disque est assez improbable. – voyager

+0

Vous n'avez évidemment jamais utilisé ma machine dev. –

+0

Pour clarifier, je ne parle pas seulement du temps de recherche de disque. C'est le processus général de permutation des pages dans la VM qui cause la lenteur. Mais je soupçonne que les autres affiches sont bonnes et IIS est redémarré pour une raison quelconque. –

0

Vous pouvez précompiler votre application en déployant à partir de VS Professional ou en utilisant la ligne de commande asp.net compiler. Pourquoi le fait-il à nouveau le jour suivant?

Questions connexes