As referências externas tornam meu aplicativo ASP.NET lento?(VS:caixa de diálogo Adicionar referência)

StackOverflow https://stackoverflow.com/questions/3424375

Pergunta

Percebi que à medida que meu site fica cada vez maior, o tempo que meu laptop leva para exibir minha página é muito mais longo do que novos projetos com referências mínimas.

Acho que há duas variáveis ​​em jogo que afetam o tempo de aquecimento do ASP.NET:

  • A quantidade de referências externas
  • O tempo que leva para um processo de trabalho new() cada instância por processo de trabalho
  • Tempo adicional para os objetos WCF, pois o ServiceHost pode estar em uma DLL externa

Primeiro, essas são as variáveis ​​corretas a serem levadas em consideração ao considerar o tempo de inicialização do ASP.NET?

Em seguida, parece que o web.config pode despachar outros objetos para uso com determinados tipos de arquivos (*.svc, *.aspx, Windows Identity Foundation (WIF), etc.).Isso também pode causar atrasos no ASP.NET.

Por último, meu projeto é criado como um "projeto web" e não como um "site".Não tenho certeza se isso tem um impacto.

Minha teoria está cheia de lacunas ou há algo que posso fazer para melhorar o desenvolvimento em um laptop antigo?

Foi útil?

Solução

O processo de trabalho carregará quaisquer referências no AppDomain conforme necessário.Isso significa que quando o aplicativo é iniciado pela primeira vez, nem todos os assemblies referenciados podem ser carregados.Se você perceber que muito do tempo de inicialização (o tempo de inicialização do aplicativo) está aumentando, consideraria examinar exatamente o que você está fazendo em seu Application_Start método, etcA outra coisa a lembrar é que esse tempo de inicialização inicial é essencialmente único, ocorrerá apenas para cada inicialização de aplicativo (não se esqueça de quando seu pool de aplicativos também for reciclado).Por ser uma coisa única, o tempo de inicialização é importante?Depois que o site tiver a visualização inicial da página, a execução a partir desse ponto deverá ser bastante rápida.

Você pode executar algo como ANTS Profiler ou dotTrace e criar um perfil exatamente onde todo o tempo está sendo gasto e, em seguida, decidir quais melhorias de desempenho deseja fazer com base nessas informações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top