ASP.NET MVC Preview 5 на Mono

Есть ли у кого-нибудь информация о получении текущих версий ASP.NET MVC (Preview 5), работающих над Mono 2.0? Была информация о старых версиях (Preview 2, может быть, Preview 3), но я не видел никаких подробностей о том, как сделать предварительный просмотр 5 действительно работой.

"Дорожная карта монопроекта" указывает на ASP.NET 3.5 для 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

Ответ 1

Хорошо, потенциал RewritePath в/имеет какую-то ошибку, поэтому просто избегайте этого. Изменение параметра RewritePath (Request.ApplicationPath) на:

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

Кажется, исправить проблему, и по крайней мере демо работает до сих пор.

Ответ 2

Asp.Net MVC 1.0 будет работать с ветвью 2.4 в моно, но вам все равно нужно исправить RewritePath при загрузке страницы по умолчанию .aspx.cs

Ответ 3

Вы используете Mono из svn или stable? Какой веб-сервер вы используете? Какая операционная система? Вы переписываете правила на своем веб-сервере?

Я могу запустить предварительный просмотр 4 в Linux с этим в методе page_load в default.aspx.cs

HttpContext.Current.RewritePath(Request.ApplicationPath);
 ((IHttpHandler)new MvcHttpHandler()).ProcessRequest(HttpContext.Current);
Мне тоже это нужно в окнах иногда. Я еще не тестировал версию 5 в Linux, поэтому она может не работать.