10

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

Mono プロジェクトのロードマップでは、ASP.NET 3.5 for Mono 2.4 (来年) が示されています。それまでにこれを便利にする方法についてのアイデアはありますか?

詳細: ルート ディレクトリを回避する限り、基本的な 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
4

3 に答える 3

11

/ への RewritePath には何らかのバグがある可能性があるので、それを避けてください。RewritePath(Request.ApplicationPath) を次のように変更します。

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

問題は解決したようで、少なくともデモはこれまでのところ動作しています。

于 2008-10-14T19:58:26.113 に答える
4

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

于 2009-03-23T12:44:46.527 に答える
1

svn または安定版の Mono を使用していますか? どの種類の Web サーバーを使用していますか? オペレーティングシステムの種類は? Web サーバーに書き換えルールはありますか?

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

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

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

于 2008-10-14T19:59:25.940 に答える