Question

Quelqu'un at-il des informations sur l'utilisation des versions actuelles d'ASP.NET MVC (Preview 5) sur Mono 2.0? Il y avait des informations sur les anciennes versions (Preview 2, peut-être Preview 3), mais je n'ai pas vu de détails sur la manière de faire en sorte que Preview 5 fonctionne réellement.

La feuille de route du projet Mono indique ASP.NET 3.5 pour Mono 2.4 (année suivante). Avez-vous des idées sur la façon d’obtenir cette information utile avant?

Plus de détails: le modèle de base de MVC Preview 5 semble fonctionner, tant que j'évite le répertoire racine. Si je demande la racine, je reçois:

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
Était-ce utile?

La solution

Eh bien, le risque est que RewritePath en / ait une sorte de bogue, alors évitez-le. Modification de RewritePath (Request.ApplicationPath) en:

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

Semble résoudre le problème, et au moins la démo fonctionne jusqu’à présent.

Autres conseils

Asp.Net MVC 1.0 fonctionnera avec la branche 2.4 de mono mais vous devrez quand même réparer le chemin RewritePath dans le chargement de page de default.aspx.cs

Utilisez-vous Mono de svn ou stable? Quel type de serveur Web utilisez-vous? Quel type de système d'exploitation? Avez-vous des règles de réécriture sur votre serveur Web?

Je peux exécuter l'aperçu 4 sous Linux avec ceci dans la méthode page_load dans default.aspx.cs

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

J'en ai parfois besoin aussi dans Windows. Je n'ai pas encore testé la version 5 sous Linux, donc cela pourrait ne pas fonctionner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top