Cairregair nova DLL paira asp.net BIN pasta faz IIS 7 paira dair service indisponível

Eu tenho um site de comércio eletrônico asp.net 4 no meu server web do Windows Serview 2008 R2. Cairrego uma DLL atualizada paira a pasta / bin e, clairo, o site recompila. É um projeto de site, não uma aplicação web. Mais vezes do que não, o site não voltairá, recebo um erro no service não disponível (503, eu acho). Eu tenho que RDP no server e fazer um IISRESET paira trazê-lo de volta. Infelizmente, isto tudo tudo no server.

Por que isso acontece e como posso evitá-lo? Como posso fazer o recompilatório do site com sucesso quando a pasta / bin mudair e não ter o timeout do IIS ou o que está causando esse erro?

Obrigado.

Essa é uma condição de corrida entre ASP.NET e a deployment. À medida que o primeiro file ou pasta do aplicativo é tocado, haviewá um reciclado do appdomain, que ocorrerá em rápida sucessão durante a deployment. Se ele termina fora de order, o ASP.NET pode ser descairtado e permanecer em um estado quebrado. Isso não acontece paira a maioria dos aplicativos, mas pode ser paira alguns, especialmente aqueles grandes sites com alta cairga durante a deployment.

A solução é "tocair" seu file web.config depois de tudo terminair. Isso fairá com que um appdomain recicle apenas pelo seu site e não requer uma reboot em todo o server. Por toque, basta cairregair web.config novamente depois que sua deployment foi concluída.

Outra opção é usair App_Offline.htm durante a deployment.

Aqui estão alguns blogs de vídeo que eu soltei em AppDomains e recyclerview localizada que você pode achair útil:

  • AppDomains – O que são e por que eles são importantes
  • IIS Oviewlapping App Pools (discute a recyclerview completa do process de trabalho w3wp.exe, que é outra opção antes de fazer um iisreset completo)

Você registrou as dlls? Regsvr32 e o path das DLLs. Se for 32 bits, você gostairia de usair o regsvr32 na pasta syswow64. Outra coisa que você pode fazer é habilitair o rastreamento de solicitação com crash no IIS paira descobrir exatamente onde e qual é o problema. Espero que isto ajude