Ich habe gerade einen Testlauf von einem Upgrade auf ASP.Net MVC 2 (RTM) in Erwartung der vollständigen offiziellen .Net 4.0 durchgeführt Veröffentlichung kommt später in diesem Monat.ASP.Net MVC2 (RTM) bricht Antwort Filterung - "Filterung ist nicht erlaubt"
Unsere Anwendung verwendet einen Minimizer für unsere CSS und Javascript. Dazu verwendet es die Eigenschaft HttpResponse.Filter
, um einen benutzerdefinierten Filter festzulegen.
Mit dem Upgrade wirft der Setter für diese Eigenschaft eine HttpException
mit der Aussage "Filterung ist nicht erlaubt." Suchen Sie, dass die HttpResponse.Filter
Eigenschaft in Reflektor dies zeigt:
set
{
if (!this.UsingHttpWriter)
{
throw new HttpException(SR.GetString("Filtering_not_allowed"));
}
...
private bool UsingHttpWriter
{
get
{
return ((this._httpWriter != null) && (this._writer == this._httpWriter));
}
}
klar, dass etwas in der Art und Weise verändert hat der Httpresponse in den Ausgabestream schreibt in MVC2. Weiß jemand, was die Änderung ist, oder zumindest ein Workaround dafür?
EDIT: Das scheint ziemlich radikal. Einige weitere Untersuchungen zeigen, dass ASP.Net MVC 2 RTM eine System.Web.Mvc.ViewPage.SwitchWriter
als Ausgabeeigenschaft eines HttpResponse
verwendet, während MVC 1 ein einfaches altes HttpWriter
verwendet. Das erklärt, warum die Ausnahme ausgelöst wird.
Aber das erklärt nicht, warum sie entschieden haben, diese Funktionalität komplett zu brechen. This thread scheint zu zeigen, dass dies nur vorübergehend ist ... aber das macht mich ziemlich nervös ... das ist das RTM schließlich.
Weitere Kommentare zu diesem Thema.
Für was es wert ist, MVC 2 RTM wurde bereits veröffentlicht: http://www.microsoft.com/downloads/details.aspx?FamilyID=c9ba1fe1-3ba8-439a-9e21-def90a8615a9&displaylang=en – Jaxidian
Danke - das ist was Ich versuche auf zu aktualisieren. Ich sollte den Titel klarer machen. – womp
Was Sie zu tun versuchen, wurde wahrscheinlich nie von Anfang an unterstützt. Wenn Sie im Wesentlichen versuchen, die Bereitstellung statischer Inhalte zu erreichen, sollten Sie die WebForms-Ansichts-Engine nicht verwenden, um dies zu erreichen. Was genau versuchen Sie zu tun? Warum brauchst du einen Filter, um das abzuziehen? – Levi