MVC4 - Gibt es eine Möglichkeit, das Stammverzeichnis zu einer "normalen" nicht verarbeiteten HTML-Seite zu leiten?

Ich habe eine MVC4-App, verwende sie jedoch hauptsächlich für die WebAPI-Teile. Ich möchte eine "normale alte HTML" -Datei an den Benutzer zurücksenden (die dann KnockoutJS oder KendoUI verwendet, um JSON von den Webapi-Controllern abzurufen).

Ich weiß ich kann das:

routes.IgnoreRoute("{page}.html");

Wenn ich dann zu "localhost / index.html" navigiere, wird meine HTML-Seite erfolgreich zurückgegeben. Ich möchte jedoch unbedingt den "root" -Standardpfad "localhost /" zuordnen, um meine index.html zurückzugeben.

Ich habe es versucht:

routes.MapPageRoute("root", "", "~/index.html");

aber das löst den Fehler aus:

Für die Erweiterung '.html' ist kein Build-Anbieter registriert. Sie können einen im Abschnitt <compilation> <buildProviders> in machine.config oder web.config registrieren. Stellen Sie sicher, dass ein BuildProviderAppliesToAttribute-Attribut vorhanden ist, das den Wert "Web" oder "All" enthält.

Hat jemand eine Idee, wie ich diese Arbeit machen kann? Ich könnte einfach einen Standard-Controller treffen, der eine einfache HTML-Seite zurückgibt, aber es scheint zu viel zu sein, den gesamten ASP.NET-Stapel einmal für die HTML-Seite zu durchlaufen, die dann nur eine WebAPI-URL aufruft, um den ASP.NET-Stapel zurückzuspielen um einige JSON-Daten für das Seitenmodell abzurufen.

Ich möchte im Grunde nur die gesamte MVC-Installation "überspringen" und von IIS die HTML-Seite zurücksenden lassen, als wäre es keine ASP.NET-App, oder zumindest so wenig wie möglich verarbeiten.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage