我刚刚完成了将项目升级到 ASP.Net MVC 2 (RTM) 的测试运行,期待本月晚些时候发布完整的官方 .Net 4.0 版本。
我们的应用程序正在为我们的 CSS 和 javascript 使用最小化程序。为此,它使用该HttpResponse.Filter
属性来设置自定义过滤器。
随着升级,此属性的设置器抛出HttpException
“不允许过滤”的说法。看起来HttpResponse.Filter
反射器中的属性显示了这一点:
set
{
if (!this.UsingHttpWriter)
{
throw new HttpException(SR.GetString("Filtering_not_allowed"));
}
...
private bool UsingHttpWriter
{
get
{
return ((this._httpWriter != null) && (this._writer == this._httpWriter));
}
}
显然,HttpResponse 写入 MVC2 中的输出流的方式发生了一些变化。有谁知道变化是什么,或者至少是一种解决方法?
编辑: 这似乎很激进。一些进一步的调查表明,ASP.Net MVC 2 RTM 使用 aSystem.Web.Mvc.ViewPage.SwitchWriter
作为 an 的输出属性HttpResponse
,而 MVC 1 使用的是普通的旧HttpWriter
. 这就解释了为什么抛出异常。
但这并不能解释为什么他们选择完全破坏这个功能。 这个线程似乎表明这只是暂时的......但这让我很紧张......毕竟这是RTM。
对此有任何进一步的评论。