Acabo de realizar una prueba de actualización de un proyecto a ASP.Net MVC 2 (RTM) en previsión del .Net 4.0 oficial completo lanzamiento a finales de este mes.ASP.Net MVC2 (RTM) rompe el filtro de respuesta - "No se permite el filtrado"
Nuestra aplicación está utilizando un minimizador para nuestro CSS y javascript. Para hacerlo, está haciendo uso de la propiedad HttpResponse.Filter
para establecer un filtro personalizado.
Con la actualización, el colocador de esta propiedad está arrojando un HttpException
que dice "No se permite el filtrado". Buscando que la propiedad HttpResponse.Filter
en el reflector muestra esto:
set
{
if (!this.UsingHttpWriter)
{
throw new HttpException(SR.GetString("Filtering_not_allowed"));
}
...
private bool UsingHttpWriter
{
get
{
return ((this._httpWriter != null) && (this._writer == this._httpWriter));
}
}
Es evidente que algo ha cambiado en la forma en que el HttpResponse está escribiendo en el flujo de salida en MVC2. ¿Alguien sabe cuál es el cambio, o al menos una solución para esto?
EDITAR: Esto parece bastante radical. Algunas investigaciones adicionales muestran que ASP.Net MVC 2 RTM está utilizando un System.Web.Mvc.ViewPage.SwitchWriter
como la propiedad de salida de HttpResponse
, mientras que MVC 1 estaba usando un simple viejo HttpWriter
. Eso explica por qué se está lanzando la excepción.
Pero eso no explica por qué han elegido romper por completo esta funcionalidad. This thread parece indicar que esto es solo temporal ... pero esto me pone bastante nervioso ... este es el RTM después de todo.
Cualquier otro comentario apreciado en esto.
Por lo que vale, MVC 2 RTM ya ha sido lanzado: http://www.microsoft.com/downloads/details.aspx?FamilyID=c9ba1fe1-3ba8-439a-9e21-def90a8615a9&displaylang=en – Jaxidian
Gracias - eso es lo que Estoy tratando de actualizar a. Debería aclarar el título. – womp
Lo que estás tratando de hacer probablemente nunca fue compatible en primer lugar. Si esencialmente intenta conectar cómo se sirve el contenido estático, no vaya a través del motor de visualización de WebForms para llevarlo a cabo. ¿Qué estás tratando de hacer exactamente? ¿Por qué necesitas un filtro para llevarlo a cabo? – Levi