2011-05-31 7 views
5

¿Qué sucede si una DLL ya está cargada por w3wp.exe y la reemplazamos?Reemplazar una DLL mientras AppDomain ya está cargado en ASP.NET

Por supuesto que podemos reemplazar un dll ya que asp.net utiliza una versión en caché de Bin carpetas DLL, pero quiero saber si al reemplazar un dll cargará el nuevo o esperar hasta el próximo reciclaje o cuando no haya nueva solicitud.

EDIT: DLL contiene una clase Singleton

Respuesta

3

De MSDN:

Si cambia el .dll y escribir una nueva versión de a la carpeta Bin, detecta ASP.NET la actualización y utiliza la nueva versión de .dll para las nuevas solicitudes de página a partir de ese momento.

+0

Mi caso es un poco complejo. Es un 'HttpHandler' y el DLL que reemplazo contiene una clase' Singleton'. Como el dominio de la aplicación ya está cargado, supongo que no se usará una nueva DLL hasta el próximo 'reciclaje '. – Xaqron

+1

@Xaqron - no importa si dll contiene la clase 'Singleton' o no. Reciclará AppDomain y lo volverá a cargar. –

4

Su aplicación se volverá a compilar una vez que se haya modificado o agregado una dll.

Su application's domain will be recycled cuando ocurre algún cambio en el directorio bin o si su contenido se modifica.

Cuestiones relacionadas