numRecompilesBeforeAppRestart sí funciona en Asp.Net 1.1
Mientras trabajaba en la segunda parte del artículo ¿Por qué debo definir "debug=false" en web.config?, Parte I, leyendo la documentación de MSDN en el link de más abajo, me encuentro con lo siguiente:
Link: http://msdn2.microsoft.com/en-us/library/system.web.configuration.compilationsection.numrecompilesbeforeapprestart(VS.80).aspx
El extracto del documento donde dice claramente que es una propiedad que es nueva para el Framework 2.0.
.NET Framework Class Library CompilationSection.NumRecompilesBeforeAppRestart Property Note: This property is new in the .NET Framework version 2.0. Gets or sets the number of dynamic recompiles of resources that can occur before the application restarts. Namespace: System.Web.Configuration Assembly: System.Web (in system.web.dll) |
Sin embargo, al utilizar esta propiedad en un sitio desarrollado en 1.1, es aceptada sin problemas en la configuración.
Más aún, haciendo una investigación más profunda, podemos ver con Reflector el código de System.Web y encontraremos este código en el método que procesa la sección de compilación:
HandlerBase.GetAndRemoveBooleanAttribute(node, "debug", ref result._debug); HandlerBase.GetAndRemoveBooleanAttribute(node, "strict", ref result._strict); HandlerBase.GetAndRemoveBooleanAttribute(node, "explicit", ref result._explicit); HandlerBase.GetAndRemoveBooleanAttribute(node, "batch", ref result._batch); HandlerBase.GetAndRemovePositiveIntegerAttribute(node, "batchTimeout", ref result._batchTimeout); HandlerBase.GetAndRemovePositiveIntegerAttribute(node, "maxBatchGeneratedFileSize", ref result._maxBatchGeneratedFileSize); HandlerBase.GetAndRemovePositiveIntegerAttribute(node, "maxBatchSize", ref result._maxBatchSize); HandlerBase.GetAndRemovePositiveIntegerAttribute(node, "numRecompilesBeforeAppRestart", ref result._recompilationsBeforeAppRestarts); HandlerBase.GetAndRemoveStringAttribute(node, "defaultLanguage", ref result._defaultLanguage); |
Efectivamente la propiedad se lee del archive de configuración, y como era de esperarse, tiene su valor por defecto puesto en duro en la clase.
private CompilationConfiguration() { this._batch = true; this._batchTimeout = 15; this._maxBatchGeneratedFileSize = 0xbb8; this._maxBatchSize = 0x3e8; this._recompilationsBeforeAppRestarts = 15; } |
Bueno, nada más que decir. Para tus proyectos en Framework 1.1, aún es tiempo de usarla. Para los de 2.0, 3.0 y 3.5, también puedes ya que la documentación dice que es de 2.0 en adelante.
Patrick.
Santiago