使用asp.net核心Kestrel从本地文件夹提供静态文件

时间:2018-09-25 08:04:58

标签: 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>()
             .Build();

   Task.Run(()=> host.RunAsync())

下面是我的Configure方法

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"
        });

    }

但是当我尝试使用URL http://localhost:5000/StaticFiles/index.html访问该文件夹内的index.html文件时,它不起作用。我收到错误本地主机未发送任何数据。ERR_EMPTY_RESPONSE。我有什么想念的吗?当我在调试模式下运行该应用程序时,我可以在Visual Studio输出窗口中看到以下日志

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

还有其他方法吗?

0 个答案:

没有答案