2008-10-14 119 views
10

有沒有人有任何關於獲取當前版本的ASP.NET MVC(預覽版5)在Mono 2.0上工作的信息?有關舊版本的信息(預覽2,也許預覽3),但我沒有看到有關使預覽5實際工作的細節。Mono上的ASP.NET MVC預覽版5

Mono Project Roadmap表示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 

回答

11

那麼潛在的是,RewritePath /有某種錯誤,所以只是避免這種情況。更改RewritePath(Request.ApplicationPath)到:

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

似乎解決這個問題,至少演示到目前爲止的作品。

1

您是否使用svn或stable的Mono? 你使用什麼樣的網絡服務器? 什麼樣的操作系統? 你的網絡服務器有重寫規則嗎?

我可以在Linux中使用這個在Page_Load方法default.aspx.cs

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

我需要在Windows有時太運行預覽4。 我沒有在Linux中測試版本5,所以它可能無法正常工作。

+0

XSP 2.0,Windows操作系統,只使用默認的MVC第五個預覽版的頁面加載RewritePath模板。但經過更多研究後,似乎只有RewritePath(「/」)失敗。我們嘗試過的其他東西似乎工作正常。 – MichaelGG 2008-10-16 01:29:49

4

Asp.Net MVC 1.0將與單聲道的2.4分支工作,但你仍然需要修復default.aspx.cs