Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 14502|Resposta: 0

[ASP.NET] Styles.Render desencadeia o pensamento de runAllManagedModulesForAllRequests=true

[Copiar link]
Publicado em 13/10/2016 15:02:09 | | |
No artigo anterior, há outro problema legado que não foi resolvido, ou seja, ASP.NET MVC MapRoute .htm não funciona, como resolvê-lo se você não usar runAllManagedModulesForAllRequests="true"? Mais tarde, encontrei uma solução:



Referência: ASP.NET MVC: Rotear uma solicitação .html para uma rota MVC

Discuti por que você deve tentar não usar runAllManagedModulesForAllRequests="true", e então encontrei dois artigos relacionados:

A arte da simplicidade: Otimize o desempenho das suas aplicações web: Não use runAllManagedModulesForAllRequests="true".
Não use runAllManagedModulesForAllRequests="true" ao fazer seu roteamento MVC funcionar
Trecho de uma descrição no texto:

Essa solução altamente recomendada pode causar outros problemas. Esses problemas aparecem na forma de fazer todos os seus módulos HTTP registrados rodarem em todas as requisições, não apenas em requisições gerenciadas (por exemplo, .aspx). Isso significa que os módulos vão rodar em todos os .jpg .gif .css .html .pdf etc.

runAllManagedModulesForAllRequests é como um switch de canal para Módulos IIS e requisições; se esse switch for ativado, todas as solicitações que acessam esse site vão para Módulos para processamento, o que inclui algumas requisições de arquivo estático, que também é o tipo mais comum de "não necessidade de processar", pois a solicitação entra em Módulos, então deve haver um programa correspondente para processá-la. Isso causa sobrecarga desnecessária de desempenho, porque arquivos estáticos são apenas para exibição, não há necessidade de processar Módulos, sites pequenos não importam, quando alguns grandes sites fotovoltaicos fazem o mesmo, isso gera alguma "pressão" no processamento do programa dos Módulos do IIS, e a conclusão resumida em um post no blog acima é desperdício (desperdício... ) e potencial (potencial... )。

Vamos fazer um teste com Application_BeginRequest para ver quais requisições são registradas para diferentes configurações do runAllManagedModulesForAllRequests, e testar o código de exemplo:


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

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_* A imagem é o que eu adicionei na visualização, isso é apenas um pedido para testar uma imagem estática, se você estiver em um site grande, adicionar o código de teste do pedido e depois atualizar a página, verá que há muitos pedidos sem sentido. Talvez você olhe o registro de teste acima, ele não parece explicar nenhum problema, mas imagine que um site com muitos arquivos estáticos, e o número de visitas é de dezenas de milhões, e o site contém muitas páginas, embora seja um problema pequeno, será infinitamente ampliado, e finalmente você descobre que é apenas um problema de configuração.

É isso, vou mudar o código.





Anterior:Chave do dicionário C# para ordenar
Próximo:asp.net Acesso a recursos estáticos em rotas MVC
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com