也许我刚刚醒了太多时间并完全监督了一些事情,但我正在使用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();
}
有些原因我在调试时仍然会看到一个空白页面并且没有任何加载。
答案 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