Pregunta

Estoy usando aspnet_compiler.exe precompilar mi solicitud para el despliegue.

Sin embargo, no creo que esté funcionando, por dos razones:

  • Veo mis montajes de aplicaciones en C:. \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files, aunque lo borre manualmente a cabo este directorio y reiniciar la aplicación
  • El impacto en el rendimiento de la aplicación JIT está presente. Esto es muy específicamente lo que me gustaría evitar, a pesar de que es 'una vez'.

Aquí es específicamente lo que estoy haciendo:

  1. Construir la solución en el estudio.
  2. ejecutar aspnet_compiler.exe -v / Foo -PC: \ builddir c: \ deploydir (donde foo es el vdir mi aplicación se ejecuta bajo, c: \ builddir es donde el estudio se basa en, y c: \ deploydir es el lugar donde
  3. I A continuación, copie c: \ deploydir al servidor web
  4. .
  5. http: // localhost / Foo
  6. Después de 30 segundos, las pantallas de aplicaciones, y puedo ver que las asambleas se han generado en los archivos temporales de ASP.NET.

Si es notable, estoy usando .NET 3.5 SP1 / Studio 2008 SP1. compilation debug = false también se encuentra en web.config.

¿Fue útil?

Solución

Sus dos puntos son discutibles:

  1. ASP.NET compilación previa no da lugar a la generación de imágenes nativas de modo sobrecarga JIT todavía estará allí. Puede haber una creación sobrecarga proceso de trabajo también.

  2. precompilación
  3. ASP.NET tiene la opción de compilar todo (incl. ASPX cosas, ...) o simplemente el código fuente (que se puede especificar con el interruptor -u). En este último caso, esos montajes todavía se generarán los archivos ASPX. En el caso de los primeros, lo que está viendo no es la generación de montaje. El tiempo de ejecución sólo copia y almacena en caché los montajes en /bin en Temporary ASP.NET Files. Puede confirmar este hecho comparando el byte a byte asambleas y ver que son idénticos.

Otros consejos

Precompilar la página web con aspnet_compiler.exe no JIT compila el código - que necesitaría NGEN el código para hacerlo.

  

El generador de imágenes nativas (Ngen.exe)   es una herramienta que mejora la   el rendimiento de las aplicaciones administradas.   Ngen.exe crea imágenes nativas, las cuales   son archivos que contienen compilados   código de máquina del procesador específico, y   los instala en la imagen nativa   caché en el equipo local. los   tiempo de ejecución puede utilizar las imágenes nativas de la   caché en lugar de utilizar el tiempo justo a   (JIT) para compilar el original   montaje.

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