今月後半に正式な .Net 4.0 がリリースされるのを見越して、プロジェクトを ASP.Net MVC 2 (RTM) にアップグレードするテストを実行しました。
私たちのアプリケーションは、CSS と JavaScript に最小化機能を使用しています。そのために、HttpResponse.Filter
プロパティを使用してカスタム フィルターを設定します。
アップグレードにより、このプロパティのセッターはHttpException
「フィルタリングは許可されていません」というメッセージをスローします。Reflector の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 はSystem.Web.Mvc.ViewPage.SwitchWriter
an の出力プロパティとしてa を使用しているのHttpResponse
に対し、MVC 1 はプレーンな古い を使用していたことがわかりHttpWriter
ます。これは、例外がスローされる理由を説明しています。
しかし、それではなぜこの機能を完全に壊すことにしたのか説明できません。 このスレッドは、これが一時的なものであることを示しているようです...しかし、これは私をかなり緊張させます...結局、これはRTMです.
これについてさらにコメントをいただければ幸いです。