【问题标题】:What's the simplest way to serve static files using ASP.NET 5?使用 ASP.NET 5 提供静态文件的最简单方法是什么?
【发布时间】:2016-01-30 00:45:00
【问题描述】:

我正在尝试创建最简单的 ASP.NET 5 项目来提供静态文件,而不依赖于 Visual Studio 项目模板。但是,当我请求文件时,我只收到一个空响应。这是我的代码:

project.json:

{
  "wwwroot": "wwwroot",
  "dependencies": {
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta8"
  },
  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
  },
  "frameworks": {
    "dnx46": { }
  }
}

Startup.cs:

using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Http;

namespace Study.StaticFileServer
{
    public class Startup
    {
        public void Configure(IApplicationBuilder app)
        {
            app.UseStaticFiles();
        }
    }
}

最后,有一个包含“downloadme.txt”的“wwwroot”文件夹。

当我运行dnx web 并请求文件时,响应为空白。我必须添加什么才能使其正常工作?

【问题讨论】:

  • 你如何在浏览器中请求文件?
  • 文件中有内容吗? :)
  • Mithun,我正在导航到localhost:5000/downloadme.txt。维克多,是的。你可以在 GitHub 上看到该项目here

标签: asp.net-core static-files


【解决方案1】:

很难发现,但project.json 中有错误。将wwwroot 更改为webroot

当前:

{
   "wwwroot": "wwwroot",
   [...]

应该是:

{
   "webroot": "wwwroot",
   [...]

webroot 指向应用程序的根目录,从中获取静态文件。

【讨论】:

    【解决方案2】:

    我猜你会这样做,但重申一下。

    1. 在命令行中运行“dnx web”时。应显示以下输出

    2. 在任何浏览器中使用“http://localhost:5000”,最初您会看到空白屏幕。然后在wwwroot文件夹中查找文件如下图

    【讨论】:

    • 这是我正在做的,但浏览器只显示一个空白屏幕,而不是文件中的文本。
    猜你喜欢
    • 2013-01-12
    • 2012-07-13
    • 2017-12-01
    • 2017-02-11
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    相关资源
    最近更新 更多