MVC6默认页面

时间:2015-09-17 18:31:36

标签: c# asp.net angularjs asp.net-mvc asp.net-core

也许我刚刚醒了太多时间并完全监督了一些事情,但我正在使用MVC6 ASP.NET 5.0来开发AngularJS网站。在我的wwwroot里面我有一个index.html页面,它运行得很好,但后来应用了更新,现在突然间我只得到一个空白的白色屏幕:开发人员工具告诉我:

无法加载资源:服务器响应状态为404(未找到)

在我的创业公司内部,我有以下内容:

public void Configure(IApplicationBuilder app)
{
    app.UseDefaultFiles(new Microsoft.AspNet.StaticFiles.DefaultFilesOptions() { DefaultFileNames = new[] { "index.html" } });
    app.UseMvc();
}

有些原因我在调试时仍然会看到一个空白页面并且没有任何加载。

2 个答案:

答案 0 :(得分:9)

您还必须指定app.UseStaticFiles()From the docs:

  

为了让您的Web应用程序在没有用户完全限定URI的情况下提供默认页面,请从UseDefaultFiles调用Startup.Configure扩展名方法,如下所示。请注意,您仍然必须致电UseStaticFiles。这是因为UseDefaultFiles是一个 URL重写器,它实际上并不提供该文件。您仍必须指定中间件(在本例中为UseStaticFiles)来提供文件。

答案 1 :(得分:1)

只是添加上面的答案:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
  ...
  // Serve the default file, if present.
  app.UseDefaultFiles();
  app.UseStaticFiles();
  ...
}

http://docs.asp.net/en/latest/fundamentals/static-files.html