Mono上的ASP.NET MVC预览版5

问题描述:

有没有人有任何关于获取当前版本的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 

那么潜在的是,RewritePath /有某种错误,所以只是避免这种情况。更改RewritePath(Request.ApplicationPath)到:

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

似乎解决这个问题,至少演示到目前为止的作品。

您是否使用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

Asp.Net MVC 1.0将与单声道的2.4分支工作,但你仍然需要修复default.aspx.cs