2016-06-12 89 views
1

我已經建立了一個空的WebAPI項目,其中.NET Core rc2已與Angular2 rc1連線。 Angular會處理所有相關的視圖,並且WebAPI是後端。使用index.html作爲默認頁面的.NET Core rc2 WebAPI

當我在默認情況下啓動應用程序時,它會從默認的API控制器提供localhost:4578/api/values作爲首頁。

但是,我希望它顯示index.html默認位於wwwroot和託管我的Angular2應用程序。

Startup.csConfigure方法是這樣的:

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.UseStaticFilesapp.Run拉姆達需要在地方手動重定向到index.html工作,但它仍與/api/values出來作爲默認啓動頁面。

我知道,爲了調試目的,我可以很容易地更改起始頁面,但我想更改它,以便在我託管它時始終將index.html作爲起始頁面。

我該如何改變這種情況?

+0

我注意到,只是重定向到index.html。我幾乎和你同樣的觀點,我想知道如何讓它加載index.html作爲默認路由。 – Samir

+0

在我的情況app.UseDefaultFiles();顯示錯誤?任何解決方案 –

回答

7

創建新的空WebAPI項目時,launchsettings.json文件默認指向api/values。要改變它,去到launchsettings.json文件在您的項目:

enter image description here

,改變launchUrl值:http://localhost:4578(從http://localhost:4578/api/values)。

+1

仍然沒有路由我的HTML頁面我正在使用ASP.NET Web API MVC核心項目?任何建議? –

+0

更好的是,不要爲launchUrl輸入任何內容,將其保留爲空字符串,例如:「launchUrl」:「」這樣,服務器將通過在項目>屬性>調試> Web服務器設置中配置的端口在本地主機啓動站點只要你包含app.UseDefaultFiles()和UseMvc(),你的默認頁面就會被提供。 – tommy

+0

也有同樣的問題,這些設置後html頁面是空白的。 –