2016-06-12 91 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页面是空白的。 –