2008-10-14 14 views
10

Hat jemand irgendwelche Informationen über die aktuellen Versionen von ASP.NET MVC (Preview 5) auf Mono 2.0 arbeiten? Es gab Infos zu den alten Versionen (Vorschau 2, vielleicht Vorschau 3), aber ich habe keine Details darüber gesehen, wie Preview 5 funktioniert.ASP.NET MVC Vorschau 5 auf Mono

Die Mono Project Roadmap gibt ASP.NET 3.5 für Mono 2.4 (nächstes Jahr) an. Irgendwelche Ideen, wie man das vorher nützlich macht?

Weitere Details: Die grundlegende MVC Preview 5 Vorlage scheint zu funktionieren, solange ich das Stammverzeichnis vermeiden. Wenn ich die Wurzel anfordern, die ich erhalte:

Server Error in '/' Application 
The virtual path '' maps to another application. 

Description: HTTP 500. Error processing request. 

Stack Trace: 

System.Web.HttpException: The virtual path '' maps to another application. 
    at System.Web.HttpContext.RewritePath (System.String filePath, System.String pathInfo, System.String queryString, Boolean setClientFilePath) [0x00000] 
    at System.Web.HttpContext.RewritePath (System.String path, Boolean rebaseClientPath) [0x00000] 
    at System.Web.HttpContext.RewritePath (System.String path) [0x00000] 
    at MvcApplication1._Default.Page_Load (System.Object sender, System.EventArgs e) [0x00000] 
    at System.Web.UI.Control.OnLoad (System.EventArgs e) [0x00000] 
    at System.Web.UI.Control.LoadRecursive() [0x00000] 
    at System.Web.UI.Page.ProcessLoad() [0x00000] 
    at System.Web.UI.Page.ProcessPostData() [0x00000] 
    at System.Web.UI.Page.InternalProcessRequest() [0x00000] 
    at System.Web.UI.Page.ProcessRequest (System.Web.HttpContext context) [0x00000] 

Version information: Mono Version: 2.0.50727.42; ASP.NET Version: 2.0.50727.42 

Antwort

11

Gut ein Potenzial, das RewritePath zu/ist eine Art von Fehler hat, so nur, dass vermeiden. Ändern des RewritePath (Request.ApplicationPath) zu:

HttpContext.Current.RewritePath("/Home/Index"); 

scheint das Problem zu beheben, und zumindest die Demo funktioniert so weit.

1

Verwenden Sie Mono von SVN oder stabil? Welche Art von Webserver verwenden Sie? Welche Art von Betriebssystem? Haben Sie Regeln in Ihrem Webserver neu geschrieben?

Ich kann in der Page_Load-Methode in default.aspx.cs mit dieser Vorschau 4 in Linux läuft

HttpContext.Current.RewritePath(Request.ApplicationPath); 
((IHttpHandler)new MvcHttpHandler()).ProcessRequest(HttpContext.Current); 

Ich brauche, dass manchmal auch in den Fenstern. Ich habe Version 5 unter Linux noch nicht getestet, daher funktioniert es möglicherweise nicht.

+0

XSP 2.0, Windows reparieren müssen, nur die Standard-MVC Preview 5 mit Vorlage. Aber nach mehr Forschung erscheint nur der RewritePath ("/") fehlgeschlagen. Alles andere, was wir versucht haben, scheint gut zu funktionieren. – MichaelGG

+0

Das ist auch hier fehlgeschlagen, und deshalb verwende ich Request.ApplicationPath anstelle von "/" – Paco

+0

Außer Request.ApplicationPath kommt als "/". – MichaelGG

4

Asp.Net MVC 1.0 wird mit dem 2,4-Zweig von Mono arbeiten, aber Sie werden immer noch die RewritePath in Laden der Seite von default.aspx.cs