Asp.net MVC Routing stimmt nicht mit einigen Dateierweiterungen überein

8

Ich habe Probleme mit Routen, die nicht übereinstimmen, wenn sie bestimmte Dateierweiterungen enthalten. Ich vermute, dass es ein IIS-Problem sein könnte, aber ich kann nicht scheinen, es zu verfolgen.

Als erstes habe ich RouteExistingFiles ausgeschaltet:

%Vor%

Und dann habe ich folgende Route:

%Vor%

und die folgende URL stimmt nicht mit dieser Route überein:

%Vor%

Aber wenn ich die Dateierweiterung entferne und die Route zu:

kippe %Vor%

Dann stimmt die obige URL mit {category} überein, wenn sie auf "test.aspx" gesetzt ist

Ich habe auch das gleiche Problem mit dieser Route:

%Vor%

Das Seltsame ist, dass ich dieses Problem nicht bei allen Routen mit Dateierweiterungen habe. Die folgenden Routen scheinen für mich gut zu funktionieren:

%Vor%

Gibt es etwas, auf das ich bei den Erweiterungen .aspx und .xml achten sollte? Könnte das ein IIS-Problem sein? Gibt es einen besseren Weg, dies zu debuggen als nur RouteDebugger ?

    
Luke Foust 30.05.2012, 15:15
quelle

2 Antworten

1
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ tag123aspnetmvc ___ Das ASP.NET MVC Framework ist ein Open-Source-Webanwendungsframework und Tooling, das eine auf Webanwendungen basierende Version des Model-View-Controller (MVC) -Musters implementiert und auf einer ASP.NET-Technologiegrundlage aufbaut. ___ qstnhdr ___ Asp.net MVC Routing stimmt nicht mit einigen Dateierweiterungen überein ___ qstntxt ___

Ich habe Probleme mit Routen, die nicht übereinstimmen, wenn sie bestimmte Dateierweiterungen enthalten. Ich vermute, dass es ein IIS-Problem sein könnte, aber ich kann nicht scheinen, es zu verfolgen.

Als erstes habe ich RouteExistingFiles ausgeschaltet:

%Vor%

Und dann habe ich folgende Route:

%Vor%

und die folgende URL stimmt nicht mit dieser Route überein:

%Vor%

Aber wenn ich die Dateierweiterung entferne und die Route zu:

kippe %Vor%

Dann stimmt die obige URL mit {category} überein, wenn sie auf "test.aspx" gesetzt ist

Ich habe auch das gleiche Problem mit dieser Route:

%Vor%

Das Seltsame ist, dass ich dieses Problem nicht bei allen Routen mit Dateierweiterungen habe. Die folgenden Routen scheinen für mich gut zu funktionieren:

%Vor%

Gibt es etwas, auf das ich bei den Erweiterungen .aspx und .xml achten sollte? Könnte das ein IIS-Problem sein? Gibt es einen besseren Weg, dies zu debuggen als nur RouteDebugger ?

    
___ answer24491774 ___

Ich bin gerade auf dieses Problem gestoßen. Für mich wurde das Routing für Dateien, die keine verwalteten Handler haben, nicht aufgerufen. Die folgende Konfiguration funktionierte für mich:

%Vor%     
___ tag123routing ___ Routing ist der Prozess zum Auswählen von Pfaden in einem Netzwerk, über das Netzwerkverkehr gesendet werden soll. Um URLs mit Inhalten zu verknüpfen, verwenden Sie stattdessen das Tag url-routing. ___ answer 10819904 ___

Ist Ihr Problem, dass die Anfrage nicht an diese Aktionen gerichtet ist, wenn die URL .xml oder .aspx enthält?

Dann denke ich, das sollte wahr sein,

%Vor%

UPDATE:

Ich habe in zwei Szenarien mit der folgenden Route für eine Site getestet, die in IIS 7 ausgeführt wird.

%Vor%

Mit RouteExistingFiles ist falsch,

Wenn in diesem Fall die Datei sitemap.xml vorhanden ist, wird die Anforderung an diese Datei weitergeleitet, andernfalls wird die Anforderung an die Aktion weitergeleitet.

Mit RouteExistingFiles ist wahr,

Wenn die Datei sitemap.xml vorhanden ist oder nicht, wird die Anforderung an die Aktion weitergeleitet.

    
___
VJAI 30.05.2012 15:56
quelle
0

Ich bin gerade auf dieses Problem gestoßen. Für mich wurde das Routing für Dateien, die keine verwalteten Handler haben, nicht aufgerufen. Die folgende Konfiguration funktionierte für mich:

%Vor%     
Dave Cluderay 30.06.2014 13:55
quelle

Tags und Links