Yo estaba hablando con un amigo acerca de lo que IIS cuando se coloca un nuevo archivo dentro de un directorio virtual.

Me dijo que IIS volver a compilar la totalidad de la página web cuando se coloca un archivo en cualquier lugar en el sitio web, creo que solo pasa (si sucede) cuando se coloca un archivo en el interior de las Bandejas de la carpeta.

La conversación viene porque un sitio web en la empresa se utiliza para subir archivos, pero los archivos se guarda dentro de una carpeta con el nombre de «Letras» en nuestro sitio web, mi amigo dice que cada vez que alguien carga un archivo de IIS se vuelva a compilar toda la web. Él es la correcta?

InformationsquelleAutor jmpena | 2009-05-06

6 Comentarios

  1. 2

    Bastante fácil para probar. Empezar a ver el JIT compilar los contadores en el servidor web… Navegador a su alrededor, luego soltar un archivo en él para ver los contadores de diapositivas.

    • hmmm lo siento… donde encontrar el JIT Compilar los contadores ??? 🙂
    • ejecutar el monitor de rendimiento. A continuación, agregue el .NET CLR Jit contadores a su gráfico. Si tu aplicación usa los tipos anónimos o los métodos anónimos que va a saltar por todo el lugar. A pesar de todo, va a saltar cuando el sitio se vuelva a compilar.
    • bien, me hice la prueba y «% de Tiempo Jit» saltar Siempre cuando puedo poner o quitar un archivo en mi carpeta BIN, si puedo poner o quitar el archivo en otra carpeta no pasa nada… gracias
  2. 2

    Sólo se recompone cuando se agrega un código que necesita ser compilado. I. e. la adición de nuevas clases a App_Code. No vuelva a compilar cuando simplemente guardar una imagen o un archivo de texto a la página web.

    • No es exactamente cierto. No es poca cosa que se llama Justo En el Momento de la compilación. Sólo mediante la ejecución de ciertos código puede provocar que se vuelva a compilar (tipos anónimos es una grandecita)
    • Entonces, ¿cuál es la mejor manera cuando los pequeños cambios se han producido. La necesidad de publicar a toda la web de nuevo ? O cualquier treta que hay para volver a compilar todo el sitio web de IIS?
  3. 1

    Creo ASP.NET sólo se re-inicia y re-compila todo el sitio cuando bin asambleas, App_Code o global.asax se cambian.

    Ver este blog para los detalles de una nueva bandera para optimizar ASP.NET compilación de comportamiento.

    Agregar archivos a una carpeta dentro del directorio virtual no debe llevar a una re-compilar (menos la carpeta ‘bin’ o ‘app_code’!)

  4. 1

    Hay una configuración en la máquina.config numRecompilesBeforeApprestart que indica el número de archivo de los cambios que pueden ocurrir antes de la aplicación se reiniciará. El valor predeterminado es 15.

    No los entornos de producción, por lo general establecer este valor mucho más alto, de modo que usted puede modificar las páginas aspx sobre la marcha, sin que toda la aplicación se reinicie.

    Esto podría ser lo que tu amigo está hablando.

    • sí, pero ¿puedo subir cosas entre ellos como imágenes o documentos dentro de una carpeta y nada le pasa??
  5. 1

    De reciclaje de la aplicación de la piscina. En powershell:

    $AppPoolName = 'NameOfApp'
    
    $AppPool = Get-ChildItem iis:\apppools | where { $_.Name -eq $AppPoolName}
    
    Restart-WebAppPool $AppPool

    Esto obligará a que el código de volver a compilar.

    • El reciclaje de la aplicación de la piscina no parece causar volver a compilar
  6. 0

    Definitivamente depende de tu versión porque:
    También hay una nueva revisión que permite optimizar la compilación por lo que IIS se vuelve a compilar con menos frecuencia, pero no estoy seguro exactamente cuando.

    CREO que lo que solía ser que una nueva definición, no se disparará una compilar si no acceda a ella (y en lugar de navegar a otro archivo de marcado), y bin/dll/archivos de ensamblado siempre gatillo.

Dejar respuesta

Please enter your comment!
Please enter your name here