Ich habe ein HTTP-Modul, das in IIS 7 ausgeführt wird und verschiedene URL-Neuschreibdienste bereitstellt.IIS7 HTTPModule kann den Pfad zu einer MVC-Unteranwendung nicht neu schreiben
Zum Beispiel:
public void Init(HttpApplication context)
{
...
HttpContext.Current.RewritePath(landingPage.NewPath,
string.Empty,
landingPage.NewQueryString +
((landingPage.NewQueryString == string.Empty) ? "" : "&") +
queryString);
...
}
Ich habe eine Unter Anwendung mit einem eigenen App-Pool in MVC geschrieben: http://www.SomeSiteWithURLrewrite.com/SubMVCApplication/
Dieses Modul große Werke außer bei MVC-Anwendungen, die als Unteranwendungen erstellt wurden.
Wenn ich eine HTTP-Anforderung machen, die neu geschrieben werden: http://www.SomeSiteWithURLrewrite.com/Arbitrary/Path/To/Be/Rewritten
Ich erhalte einen HTTP-Fehler 404.0 - nicht gefunden
Die 404-Fehlerseite zeigt, dass ein Aufruf von "http://www.SomeSiteWithURLrewrite.com/Arbitrary/Path/To/Be/Rewritten" in den physischen Pfad "C: {RootDirectory} \" geschrieben wurde. SubMVCApplication \ "mit dem Handler von" StaticFile ".
Ich bin mir nicht sicher, warum die Pipline "HttpContext.Current.RewritePath" nicht als eine MVC-Anfrage erkennt. Liegt es daran, dass die MVC-App in einer eigenen Anwendung ist?
Wie kann ich nennen RewritePath (oder so ähnlich) und IIS machen eine ASP.Net MVC page.in Unter Anwendung