2010-08-19 3 views
1

Voici comment je comprends la compilation asp.net. S'il vous plaît corriger les erreurs dans ma compréhension. Si je ne publie pas un projet de site Web, copiez plutôt simplement tous les fichiers dans le répertoire web. Je sais que la première visite qu'il compile et donc la première visite c'est un peu lent. A partir de là (si je ne mets pas à jour la source) le site reste compilé correctement (E.G. n'est pas dans un cache qui expire)? Et si je mettais à jour la source d'une page, ASP.NET détecte une modification et la recompile? Recompile-t-il juste une seule page ou met-il tout dans bin \ MySiteName.dll? Enfin, si je publie un site, je ne peux pas mettre à jour le code source (aspx oui, mais pas le code derrière les pages). Cela précompile le site afin que la première charge soit rapide. Le site est toujours compilé jusqu'à une nouvelle publication.Présentation de la compilation ASP.NET de projets de site Web

Répondre

1

Here's an article qui aidera. C'est un peu plus que ce que vous avez dit mais cela devrait vous aider.

1

Fondamentalement, je pense que vous avez raison. La seule chose que je vais vous dire est qu'il est possible de précompiler une application ASP.NET afin que la première charge ne soit pas si lente. Fondamentalement, vous utilisez aspnet_compiler.exe pour cette tâche. Voir http://msdn.microsoft.com/en-us/library/bb398860.aspx pour plus d'informations que vous ne voudrez probablement jamais.

2

Vous avez raison, le cache d'un assembly de projet de site Web est invalidé chaque fois que vous appliquez une modification à un fichier de code source. Comme indiqué dans MSDN:

Toute modification dans un fichier compilé dynamiquement entraînera automatiquement l'annulation l'assembly compilé en cache de fichiers et recompilation de déclenchement de toutes les personnes touchées ressources. La prochaine fois qu'une demande à le code est effectuée, ASP.NET reconnaît que le code a été modifié et recompile les ressources affectées de l'application Web.

Pour autant que je sais qu'il est expire aucune date attachée à votre assemblée à moins, bien sûr, il est supprimé (ensemble est stocké dans% windir% \ Microsoft.NET \ Framework \ v2.0.50727 \ ASP temporaire. Fichiers NET \ name_ou_web_site).

Note intéressante: avec la compilation automatique, il est important de laisser debug = false dans votre fichier web.config une fois que vous appuyez sur votre site Web du projet à la production. Si vous l'oubliez, la compilation par lots sera désactivée et un assemblage sera généré pour chaque page source demandée! Vous pouvez en lire plus sur le blog de If broken it is, fix it you should.

Questions connexes