Wir verschieben ein ASP.NET-Projekt von IIS6 (Windows Server 2003) zu IIS 8.5 (Windows Server 2012 R2). Das Projekt hat einige MVC-Komponenten, für die das folgende Routing verwendet wird.Schrägstrichproblem in IIS 8.5
routes.MapRoute("simple", "{controller}.mvc/{action}/{id}");
routes.MapRoute(
"Default",
"{controller}.mvc/{action}/{id}"
new { controller = "Home", action = "Index", id = "" }
);
So zu MyDemoController
nennen würde
nun von MyDemo.mvc zugegriffen werden, was passiert, wenn ich die URL als MyDemo.mvc/es funktioniert, aber wenn ich MyDemo.mvc ohne slash es löst 404 Fehler aus.
Dies geschieht nur auf dem bereitgestellten Server. In unseren lokalen Rechnern, die IIS7.5, Win7 verwenden, funktioniert es ohne irgendwelche Probleme.
Manuelles Ändern ist nicht möglich, da viele URLs zur Sitemap-Datei hinzugefügt wurden und unser Client den Ansatz nicht genehmigt.
Ist es etwas Spezifisches für die IIS-Version oder irgendeine kleine Optimierung würde das Problem lösen?
die 'simple' und' default' Strecken sind die gleichen, aber die einfache hat keine festgelegt Standardwerte. – Nkosi
@nkosi das ist, was ich sah, sah seltsam aus, aber das ist der genaue Code, den ich dort gefunden – SamGhatak
Wenn Sie das einfache entfernen. 'MyDemo.mvc' sollte funktionieren, vorausgesetzt, Sie haben einen' MyDemoController' mit einer 'Index'-Aktion – Nkosi