Immer Fehler 404 nicht gefunden ASP.NET MVC routing-Bereich

Ich habe ein problem mit einer Fläche route in MVC 5. Wenn ich navigieren Sie zu " /Evernote/EvernoteAuth bekomme ich eine 404-Ressource nicht gefunden Fehler.

Meinem Bereich sieht das so aus:

Areas
    Evernote
        Controllers
            EvernoteAuthController
        Views
            EvernoteAuth
                Index.cshtml

Den EvernoteAreaRegistration.cs (UPDATE: RegisterArea() nicht aufgerufen wird, also habe ich ein Clean und Rebuild. Jetzt heißt es aber dasselbe Ergebnis.) enthält diese route Karte:

public override void RegisterArea(AreaRegistrationContext context)
{
     context.MapRoute(
        "Evernote_default",
        "Evernote/{controller}/{action}/{id}",
        new { action = "Index", id = UrlParameter.Optional }
     );
}

Den EvernoteAuthController die Index () - Methode gibt einfach Anzeigen().

Meine Anwendung RouteConfig.cs hat derzeit keine Streckenkarten definiert, aber ich habe versucht manuell zu "zwingen", hier durch die Umsetzung dieser:

routes.MapRoute(
    name: "EvernoteAuthorization",
    url: "Evernote/{controller}/{action}",
    defaults: new { controller = "EvernoteAuth", action = "Index", id = UrlParameter.Optional },
    namespaces: new string[] { "AysncOAuth.Evernote.Simple.SampleMVC.Controllers" }
);

aber ich bekomme die gleichen Ergebnisse, ob diese Karte vorhanden ist oder auskommentiert wurde.

Verwendung von Phil Haack ist asp.net mvc routing-debugger sah ich, dass meine Routen abgestimmt Ordnung und der Bereich, name, controller-Namen und Action-Methode-Namen abgestimmt. Ich setzen Sie Haltepunkte in der controller-action-Methoden, und diese Methoden waren nie eingetragen. UPDATE: Diese Methoden waren nie eingetragen, der beim navigieren zu /Evernote/EvernoteAuth allerdings, wenn ich durchsucht nur den Bereich name /Evernote, eine EvernoteAuthController instanziiert wurde und der Index () - Methode aufgerufen wurde. (Warum ist, dass der controller instanziiert wird vom /von Evernote nicht durch /Evernote/EvernoteAuth?) Dann erhielt ich die Fehlermeldung:

The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/EvernoteAuth/Index.aspx
~/Views/EvernoteAuth/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/EvernoteAuth/Index.cshtml
~/Views/Shared/Index.cshtml
and so on...

In diesem Fall glaube ich, ~ = /(root der Anwendung). So ist das Gebiet Areas\Evernote\Views wird nicht gesucht.

Wie kann ich dies beheben?

InformationsquelleAutor Howiecamp | 2014-08-22
Schreibe einen Kommentar