Pregunta

Cuando un ensamblado de .NET se implementa en el GAC y el archivo de destino está bloqueado, Windows mantiene en lo que pueda mejor conjetura es una especie de 'purgatorio montaje' -. c:\windows\assembly\temp

Con el Explorador de Proceso estos pueden ser vistos fácilmente en la búsqueda de la DLL sospechoso:

Process Explorer Buscar
(fuente: alexangas.com )

Tan pronto como termino el proceso de cierre el archivo (en este caso Owstimer.exe) se despliega mágicamente al GAC correctamente.

Soy curioso en cuanto a lo que Windows está haciendo realmente aquí. ¿Cómo sabe cuando el bloqueo de archivo ha sido puesto en libertad? ¿De dónde mantener el registro de los archivos bloqueados? ¿Alguna vez se dio por vencido?

¿Fue útil?

Solución

Temp y tmp son carpetas temporales utilizados durante la instalación y desinstalación Asamblea GAC. Tmp se utiliza para la instalación, y Temp se utiliza para la desinstalación. Fuente: GAC Temp y Tmp

.NET Runtime Service Optimization (mscorsvw.exe) es, probablemente, el sondeo archivos de vez en cuando para comprobar si están cerradas para que pueda [un] instalar los conjuntos de pendientes.

Puedo estar equivocado, pero por lo que yo sé, no hay ninguna API de Windows que notificarle que determinado archivo se ha cerrado / abierto. Usted tiene que controlar por sí mismo. Pero el propio Windows debe tener una lista de este tipo en algún lugar de la memoria (al menos tiene una lista de identificadores abiertos), por lo que sólo sabe que el archivo está cerrado, porque el asa que representa el archivo se libera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top