Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 14502|Répondre: 0

[ASP.NET] Styles.Render déclenche l’idée de runAllManagedModulesForAllRequests=true

[Copié le lien]
Publié sur 13/10/2016 15:02:09 | | |
Dans l’article précédent, il y a un autre problème hérité qui n’a pas été résolu, à savoir ASP.NET MVC MapRoute .htm ne fonctionne pas, comment le résoudre si vous n’utilisez pas runAllManagedModulesForAllRequests="true » ? Plus tard, j’ai trouvé une solution :



Référence : ASP.NET MVC : Acheminer une demande de .html vers une route MVC

J’ai expliqué pourquoi il faut essayer de ne pas utiliser runAllManagedModulesForAllRequests="true », puis j’ai trouvé deux articles liés :

L’art de la simplicité : Optimisez les performances de vos applications web : N’utilisez pas runAllManagedModulesForAllRequests="true ».
N’utilisez pas runAllManagedModulesForAllRequests="true » pour faire fonctionner votre routage MVC
Extrait d’une description dans le texte :

Cette solution fortement recommandée peut causer d’autres problèmes. Ces problèmes se manifestent par le fait que tous vos modules HTTP enregistrés fonctionnent sur chaque requête, pas seulement sur des requêtes gérées (par exemple .aspx). Cela signifie que les modules fonctionneront sur chaque .jpg .gif .css .html .pdf etc.

runAllManagedModulesForAllRequests est comme un commutateur de canal pour les modules IIS et les requêtes ; si ce commutateur est activé, alors toutes les requêtes qui accèdent à ce site seront envoyées dans des Modules pour traitement, ce qui inclut certaines requêtes de fichiers statiques, qui sont aussi le type de requêtes « pas besoin de traiter » le plus courant, car la requête entre dans les Modules, il doit alors y avoir un programme correspondant pour la traiter. Cela engendre une surcharge de performance inutile, car les fichiers statiques ne servent qu’à l’affichage, il n’est pas nécessaire de traiter les modules du tout, les petits sites n’ont pas d’importance, quand certains grands sites photovoltaïques font de même, cela exerce une certaine « pression » sur le traitement des programmes des modules IIS, et la conclusion résumée dans un article de blog ci-dessus est le gaspillage (déchet... ) et potentiel (potentiel... )。

Faisons un test avec Application_BeginRequest pour voir quelles requêtes sont enregistrées pour différentes configurations de runAllManagedModulesForAllRequests, et testons le code d’exemple :


runAllManagedModulesForAllRequests="fasle », data.txt log :
http://localhost:55127/
http://localhost:55127/bundles/test2?v=2Fz3B0iizV2NnnamQFrx-NbYJNTFeBJ2GM05SilbtQU1
http://localhost:55127/bundles/test1?v=MDbdFKJHBa_ctS5x4He1bMV0_RjRq8jpcIAvPpKiN6U1

runAllManagedModulesForAllRequests="true », data.txt enregistrement :

http://localhost:55127/
http://localhost:55127/bundles/test2?v=2Fz3B0iizV2NnnamQFrx-NbYJNTFeBJ2GM05SilbtQU1
http://localhost:55127/bundles/test1?v=MDbdFKJHBa_ctS5x4He1bMV0_RjRq8jpcIAvPpKiN6U1
http://localhost:55127/Content/logo_small_1.gif
http://localhost:55127/Content/logo_small_4.gif
http://localhost:55127/Content/logo_small_2.gif
http://localhost:55127/Content/logo_small_3.gif

logo_small_* L’image est ce que j’ai ajouté dans la vue, c’est juste une demande pour tester une image statique, si vous êtes sur un grand site, ajoutez le code de test de la demande, puis rafraîchez la page, vous constaterez qu’il y a beaucoup de requêtes sans signification. Peut-être que vous regardez l’enregistrement de test ci-dessus, il ne semble expliquer aucun problème, mais imaginez simplement un site avec beaucoup de fichiers statiques, et que le nombre de visites est de dizaines de millions, et que le site contient de nombreuses pages, même si c’est un petit problème, il sera agrandi à l’infini, et que finalement vous découvrez que ce n’est qu’un problème de configuration.

Voilà, je vais changer le code.





Précédent:Clé du dictionnaire C# pour trier
Prochain:asp.net Accès aux ressources statiques sur les routes MVC
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com