NetCore的控制台應用中搭建WebServer的方法


一、新建NetCore控制台項目,並引入下列Nuget包:

  Microsoft.AspNetCore.StaticFiles、Microsoft.AspNetCore.Http、Microsoft.AspNetCore.Http.Abstractions、Microsoft.AspNetCore.Server.Kestrel

  

二、新建一個Startup類。

using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.FileProviders;

namespace NetCoreWebServerDemo
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
        }
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            var staticfile = new StaticFileOptions();
            staticfile.FileProvider = new PhysicalFileProvider(@"D:\");
            app.UseStaticFiles(staticfile);
            app.Run(new Microsoft.AspNetCore.Http.RequestDelegate(HttpRequestHandler));
        }

        private async Task HttpRequestHandler(HttpContext context)
        {
            await context.Response.WriteAsync("hello  here is songxingzhu prov.");
        }
    }
}

 

三、在Main函數中這樣寫:

using Microsoft.AspNetCore.Hosting;
using System.IO;

namespace NetCoreWebServerDemo
{
    class Program
    {
        public static void Main(string[] args)
        {
            var host =
                new WebHostBuilder().
                UseKestrel().
                UseContentRoot(Directory.GetCurrentDirectory()).
                UseUrls("http://0.0.0.0:8080").
                UseStartup<Startup>().Build();

            host.Run();
        }

      
    }
}

 

四、啟動運行。如圖,一個簡單的文件服務器就搭好了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM