Errore durante l'accesso a qualsiasi cosa tranne il percorso predefinito
-
03-07-2019 - |
Domanda
Ho problemi a far funzionare il routing su mono. La route predefinita funziona bene, ma nient'altro.
Questi sono i percorsi che ho impostato:
routes.MapRoute(
"HelloRoute",
"Hello/{name}",
new { controller = "Home", action = "Hello" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
e sul mio HomeController ho l'azione corrispondente:
public ActionResult Index ()
{
ViewData["Message"] = "Welcome to ASP.NET MVC on Mono!";
return View ();
}
public ActionResult Hello(string name)
{
ViewData["Message"] = "hello "+name;
return View ();
}
ora se passo a http: // localhost / ricevo il messaggio Benvenuti in ... ma se vado a http: // localhost / Hello / World ricevo un errore:
value name controller does not match any of the values.
Descrizione: HTTP 500. Errore durante l'elaborazione della richiesta.
Stack Trace:
System.InvalidOperationException: il controller del nome valore non corrisponde a nessuno dei valori. at System.Web.Routing.RouteData.GetRequiredString (System.String valueName) [0x00000] at System.Web.Mvc.MvcHandler.ProcessRequest (System.Web.HttpContextBase httpContext) [0x00000] at System.Web.Mvc.MvcHandler.ProcessRequest (System.Web.HttpContext httpContext) [0x00000] at System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest (System.Web.HttpContext httpContext) [0x00000] at System.Web.HttpApplication + c__Iterator2.MoveNext () [0x00000] su System.Web.HttpApplication.Tick () [0x00000]
sto facendo qualcosa di evidentemente sbagliato?
A parte il percorso adizionale, azione e vista questo è un progetto standard asp.net mvc creato in Monodevelop.
Soluzione 2
Si è scoperto che si trattava di un bug nell'implementazione del routing mono.
Ho compilato una segnalazione di bug qui: https://bugzilla.novell.com/ show_bug.cgi? id = 500.739 . E ora è stato risolto, anche se non l'ho ancora provato.
Altri suggerimenti
Sembra un bug nei modelli ASP.NET MVC per MonoDevelop come suggerito nella sezione commenti di questo post .