Я только что выполнил тестовый прогон обновления проекта до 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 использует System.Web.Mvc.ViewPage.SwitchWriter
в качестве свойства Output HttpResponse
, тогда как MVC 1 использовал простой старый HttpWriter
. Это объясняет, почему возникает исключение.
Но это не объясняет, почему они решили полностью нарушить эту функциональность. Эта тема , кажется, указывает на то, что это просто временно ... но это заставляет меня нервничать ... в конце концов, это RTM.
Любые дальнейшие комментарии приветствуются.