recibiendo nosotros un problema por el que cada vez que copiar un archivo DLL en el directorio bin, nuestro principal de dominio en el sitio web se paraliza y la única manera de llevar la copia de seguridad es reiniciando el "Servicio de publicación WWW".ASP.net C# requiere IIS reinicio cuando la nueva DLL copia en el directorio BIN
Ejecutamos un sitio web que contiene una cantidad de aplicaciones IIS que se ejecutan en un único servidor donde cada una de estas aplicaciones está configurada para ejecutarse en diferentes grupos de aplicaciones.
Tenemos una gran base de código que contiene más de 280 páginas aspx en todo el sitio. Nuestro dominio principal contiene aproximadamente 100 páginas aspx, mientras que los subdominios contienen 15 o 20 cada uno.
Cuando hacemos una acumulación Actualmente estamos generando un montón de archivos DLL que copiar manualmente en el directorio bin servidores de producción. Tan pronto como hacemos esto, IIS obviamente inicia un reciclaje compilando cada una de las páginas aspx y códigos detrás. En este punto, el sitio esencialmente se detiene (a veces debe reiniciarse reiniciando el servicio de publicación web para reactivarlo).
Lo curioso es que esto sólo ocurre cuando hacemos uso de la aplicación principal de IIS de dominio, es decir, el www. Si implementamos un archivo bin en el subdominio de la misma manera, funciona casi instantáneamente.
Incluso si hago un iisreset.exe, esto no parece resolver el problema.
algunas preguntas:
- ¿Hay alguna forma de acelerar el proceso actual, de modo que no es necesario reiniciar el servidor?
- Habría ningún cambio de código obvias o actualizaciones que ser la causa de la necesidad de un reinicio del servicio (a veces corremos un iisreset pero esto no se parece a traer de vuelta a la vida)?
Algunas especificaciones:
- código está escrito en: C#
- .NET Framework: 2.0
- Servidor: Windows Web Server 2008
- iis versión: IIS7
- Base de datos: MSSQL 2008 Standard
Cualquier ayuda sería apreciada. Gracias por adelantado.
. Así que el problema principal causado por bloqueos a los ddls no se libera, por lo que tendremos que reiniciar el servicio para obtener el servidor ¿apoyo? – StacMan
Este podría ser el problema. Pero la forma correcta de actualizar su aplicación web en IIS es poner primero una app_offline.htm en su raíz y luego actualizar el sitio para evitar el bloqueo y otros problemas como los que tiene. No es necesario un iisreset cuando usa app_offline.htm. Cuando use vs2010 con tfs2010 y obtenga una versión más reciente, vs2010 también colocará un app_offline.htm en su raíz y lo eliminará cuando se recuperen todos los archivos, consulte la pregunta sobre ese http://stackoverflow.com/questions/3965346/ app-offline-htm-created-deleted-whenever-i-check-out-a-file-in-tfs. –
Gracias agradezco la ayuda con eso. Todavía me gustaría descubrir por qué requiere un reinicio y las posibles causas del problema; sin embargo, su sugerencia sí mejora la usabilidad. – StacMan