質問

Mono 2.0で動作するASP.NET MVC(プレビュー5)の現在のバージョンを取得することに関する情報はありますか?古いバージョン(プレビュー2、おそらくプレビュー3)についての情報はありましたが、プレビュー5を実際に機能させる詳細については見ていません。

Mono Project Roadmap は、Mono 2.4用ASP.NET 3.5(来年)を示しています。その前にこれを便利にする方法についてのアイデアはありますか?

詳細:基本的なMVC Preview 5テンプレートは、ルートディレクトリを回避する限り機能するようです。ルートをリクエストすると、次のメッセージが表示されます。

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
役に立ちましたか?

解決

潜在的な可能性は、RewritePathへの/に何らかのバグがあるため、それを避けることです。 RewritePath(Request.ApplicationPath)を次のように変更します。

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

問題を修正すると思われますが、少なくともこれまでのところデモは動作します。

他のヒント

Asp.Net MVC 1.0はmonoの2.4ブランチで動作しますが、default.aspx.csのページロードでRewritePathを修正する必要があります

svnまたはstableのMonoを使用していますか? どのようなWebサーバーを使用していますか? どのようなオペレーティングシステムですか? Webサーバーに書き換えルールがありますか?

default.aspx.csのpage_loadメソッドでこれを使用してLinuxでプレビュー4を実行できます

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

Windowsでも時々必要です。 Linuxでバージョン5をまだテストしていないため、動作しない可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top