2008-10-14 14 views
10

¿Alguien tiene alguna información sobre cómo obtener las versiones actuales de ASP.NET MVC (Vista previa 5) trabajando en Mono 2.0? Había información sobre las versiones anteriores (Vista previa 2, tal vez Vista previa 3), pero no he visto detalles sobre cómo hacer que la Vista previa 5 realmente funcione.ASP.NET MVC Preview 5 en Mono

El Mono Project Roadmap indica ASP.NET 3.5 para Mono 2.4 (próximo año). ¿Alguna idea sobre cómo hacer esto útil antes?

Más detalles: la plantilla básica MVC Preview 5 parece funcionar, siempre que evite el directorio raíz. Si solicito la raíz, me sale:

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 

Respuesta

11

bien un potencial es que RewritePath a/tiene algún tipo de error, por lo que sólo evitar eso. Cambio de la RewritePath (Request.ApplicationPath) a:

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

parece solucionar el problema, y ​​por lo menos la demo funciona hasta ahora.

1

¿Está utilizando Mono desde svn o estable? ¿Qué tipo de servidor web estás usando? ¿Qué tipo de sistema operativo? ¿Tiene reglas de reescritura en su servidor web?

puedo correr vista previa 4 en Linux con esto en el método Page_Load en default.aspx.cs

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

Necesito que en las ventanas a veces demasiado. Aún no he probado la versión 5 en Linux, por lo que podría no funcionar.

+0

XSP 2.0, de Windows, simplemente utilizando el valor predeterminado MVC Vista previa de 5 modelo. Pero después de más investigaciones, parece que solo RewritePath ("/") falla. Todo lo demás que probamos parece funcionar bien. – MichaelGG

+0

Eso también falló aquí y es por eso que uso Request.ApplicationPath en lugar de "/" – Paco

+0

Excepto Request.ApplicationPath aparece como "/". – MichaelGG

4

Asp.Net MVC 1.0 funcionará con la rama 2.4 del mono, pero todavía tendrá que fijar el RewritePath de carga de la página de default.aspx.cs