适用于.NET Core的最简单的独立静态文件服务器

时间:2018-12-05 15:44:49

标签: c# .net-core webserver

我写了一个问题,如何使用尽可能少的行和文件为.NET Core写一个简单的静态文件服务器。

它被标记为ASP.NET Core - serving static files的重复项。所以我的问题是:

this answer确实可能是最简单的 .NET Core静态文件Web服务器吗?我是否理解正确(我正在尝试将各种来源的信息汇总在一起)?

Startup.cs

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;

namespace StaticFileServer {
    public class Startup{

        public void Configure(IApplicationBuilder app){
            app.UseDefaultFiles();
            app.UseStaticFiles(new StaticFileOptions() 
            {
                FileProvider = new PhysicalFileProvider(
                    Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\dist"))
            });
        }
    }
}

Main.cs

using System;
using Microsoft.AspNetCore.Hosting;

namespace StaticFileServer
{
    class Program
    {
        static void Main(string[] args)
        {    
            var host = new WebHostBuilder()
            .UseKestrel()
            .UseStartup<Startup>()
            .Build();

            host.Run();
        }
    }
}

1 个答案:

答案 0 :(得分:1)

将代码放在一起,我发现从该位置提供静态文件的最简单的完整应用程序如下:

class Program
{
    static void Main(string[] args)
    {
        WebHost.CreateDefaultBuilder(args)
            .Configure(config => config.UseStaticFiles())
            .UseWebRoot("wwwroot/dist").Build().Run();
    }
}

如果您想使事物保持轻巧,则可以包含Microsoft.AspNetCoreMicrosoft.AspNetCore.HostingMicrosoft.AspNetCore.StaticFiles。或者,对于快速设置,您可以只安装一个软件包Microsoft.AspNetCore.All