2016-06-12 3 views
1

Ich habe ein leeres WebAPI-Projekt mit .NET Core rc2 eingerichtet und es mit Angular2 rc1 verdrahtet. Angular kümmert sich um alles, was mit der Ansicht zu tun hat, und die WebAPI ist das Backend..NET Core rc2 WebAPI mit index.html als Standardseite

Wenn ich die App standardmäßig starte, erscheint localhost:4578/api/values vom Standard-API-Controller als Startseite.

Allerdings möchte ich es index.html standardmäßig anzeigen, die in wwwroot befindet und hostet meine Angular2 App.

In Startup.cs die Configure Methode sieht wie folgt aus:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
    { 
     loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
     loggerFactory.AddDebug(); 

     app.UseDefaultFiles(); 
     app.UseStaticFiles(); 
     app.UseMvc(); 

     app.Run(ctx => 
     { 
      ctx.Response.Redirect("/index.html"); 
      return Task.FromResult(0); 
     }); 
    } 

app.UseStaticFiles und die app.Run Lambda müssen index.html anstelle für die manuelle Umleitung sein zu arbeiten, aber es kommt immer noch mit /api/values als Standard-Startseite auf.

Ich weiß, dass ich für Debugging-Zwecke kann ich die Startseite leicht ändern, aber ich möchte es so ändern, dass, wenn ich hosten es immer als Startseite dient.

Wie kann ich das ändern?

+0

Ich merke, dass einfach auf index.html umgeleitet wird. Ich bin ziemlich genau an dem Punkt, an dem Sie sich befinden, und ich frage mich, wie Sie index.html als Standardroute laden können. – Samir

+0

In meinem Fall app.UseDefaultFiles(); zeigt Fehler? irgendeine Lösungsmöglichkeit?? –

Antwort

7

Beim Erstellen eines neuen leeren WebAPI-Projekts zeigt die Datei "launchsettings.json" standardmäßig auf "api/values". gehen, um es zu ändern, auf die launchsettings.json Datei in Ihrem Projekt:

enter image description here

und die launchUrl ändern Wert: http://localhost:4578 (von http://localhost:4578/api/values).

+1

Immer noch nicht meine HTML-Seite routing ich benutze ASP.NET Web API MVC Core-Projekt? Irgendein Vorschlag? –

+0

Besser noch, geben Sie nichts für launchUrl ein, belassen Sie es als leere Zeichenfolge wie: "launchUrl": "" Auf diese Weise startet der Server die Site bei localhost über den in project> properties> Debug> Web Server Settings konfigurierten Port Und solange Sie app.UseDefaultFiles() und UseMvc() einschließen, wird Ihre Standardseite angezeigt. – tommy

+0

haben dasselbe Problem, HTML-Seite ist nach diesen Einstellungen leer. –

Verwandte Themen