Pergunta

Alguém tem alguma informação sobre começar as versões atuais do ASP.NET MVC (Preview 5) trabalhando em Mono 2.0? Não havia informações sobre as versões antigas (Preview 2, talvez Preview 3), mas eu vi nenhum detalhe sobre como fazer Preview 5 realmente trabalho.

O href="http://www.mono-project.com/Roadmap" rel="nofollow noreferrer"> Roteiro Projeto Mono indica ASP.NET 3.5 para Mono 2,4 (próximo ano). Algumas ideias sobre como obter este útil antes disso?

Mais detalhes: O básico do modelo MVC Preview 5 parece trabalho, enquanto eu evitar o diretório raiz. Se eu solicitar a raiz, eu recebo:

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
Foi útil?

Solução

Bem, um potencial é que RewritePath a / tem algum tipo de bug, então apenas evitar isso. Alterar o RewritePath (Request.ApplicationPath) para:

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

Parece para corrigir o problema, e pelo menos a demo funciona até agora.

Outras dicas

Asp.Net MVC 1.0 irá funcionar com o 2.4 ramo da mono, mas você ainda vai precisar para corrigir o RewritePath no carregamento da página de Default.aspx.cs

Você está usando Mono do SVN ou estável? Que tipo de servidor você está usando? Que tipo de sistema operacional? Você tem regras de reescrita em seu servidor web?

Eu posso correr pré-visualização 4 em Linux com este no método page_load em Default.aspx.cs

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

Eu preciso que no Windows, por vezes, também. Eu não fiz teste versão 5 em Linux ainda, então ele pode não funcionar.

scroll top