C# 使用asp.net core Kestrel为本地文件夹中的静态文件提供服务

C# 使用asp.net core Kestrel为本地文件夹中的静态文件提供服务,c#,asp.net-mvc,web,asp.net-core,kestrel-http-server,C#,Asp.net Mvc,Web,Asp.net Core,Kestrel Http Server,我正在尝试创建一个Kestrel web服务器,它将从本地文件夹路径(例如:C:\Website)提供静态文件。但我的web服务器尚未启动或无法找到该文件。下面是我的代码 工作代码 var host = new WebHostBuilder() .UseKestrel() .UseContentRoot(@"C:\Website") .UseStartup<Startup>()

我正在尝试创建一个Kestrel web服务器,它将从本地文件夹路径(例如:C:\Website)提供静态文件。但我的web服务器尚未启动或无法找到该文件。下面是我的代码

工作代码

     var host = new WebHostBuilder()
             .UseKestrel()
             .UseContentRoot(@"C:\Website")        
             .UseStartup<Startup>()
             .Build();

   Task.Run(()=> host.RunAsync())
但是,当我试图使用url访问文件夹中的index.html文件时,它不起作用。我收到错误localhost没有发送任何数据。ERR\u EMPTY\u RESPONSE。有什么东西我遗漏了吗。在调试模式下运行应用程序时,我可以在VisualStudio输出窗口中看到下面的日志

托管环境:生产环境 内容根路径:C:\Website 现在收听: 现在收听: 应用程序已启动。按Ctrl+C关闭。


还有别的办法吗

确定您没有丢失
Run
?我在主机@patrick的正下方运行,当您实际尝试在浏览器中访问路径时,日志会显示什么?在浏览器中,我没有看到任何日志。但是如果我让fiddler保持打开状态,我会得到[fiddler]ReadResponse()失败:服务器没有返回此请求的完整响应。服务器返回了0字节。您可能应该向web主机生成器添加日志记录,以便从中获得一些反馈
.ConfigureLogging(l=>l.AddConsole())
应该可以做到这一点。
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        app.UseStaticFiles();
        app.UseStaticFiles(new StaticFileOptions
        {
            FileProvider = new PhysicalFileProvider(
        @"C:\Website"),
            RequestPath = "/StaticFiles"
        });

    }