千家信息网

asp.net core主机的用法

发表于:2024-10-01 作者:千家信息网编辑
千家信息网最后更新 2024年10月01日,本篇内容主要讲解"asp.net core主机的用法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"asp.net core主机的用法"吧!asp.net
千家信息网最后更新 2024年10月01日asp.net core主机的用法

本篇内容主要讲解"asp.net core主机的用法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"asp.net core主机的用法"吧!

asp.net core 主要是用来处理http请求的web应用。 使用了用于托管web应用的web主机(WebHostBuilder),对于其它类型的主机(例如消息、后台任务和其他非 HTTP 工作负载),请使用通用主机(HostBuilder)。 在程序入口Program类Main方法中创建IWebHostBuilder实例的主机,通常应用调用WebHost静态类的CreateDefaultBuilder方法开始创建主机。

        public class Program        {            public static void Main(string[] args)            {                CreateWebHostBuilder(args).Build().Run();            }            public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>                WebHost.CreateDefaultBuilder(args)                    .UseStartup();        }

CreateDefaultBuilder 执行下列任务:

  • 使用应用的托管配置提供程序将 Kestrel 服务器配置为 Web 服务器。

  • 将内容根设置为由 Directory.GetCurrentDirectory 返回的路径。

  • 加载配置(主机配置和系统配置)

  • 添加输出日志工具

  • 启动IIS集成

也可以实例化一个web主机,可以根据项目的需求自定义一些配置信息:

        public static IWebHost CreateWebHostBuilder(string[] args)        {            var builder = new WebHostBuilder();                        return builder                .UseKestrel((builderContext, options) =>                {                    options.Configure(builderContext.Configuration.GetSection("Kestrel"));                })                .UseContentRoot(Directory.GetCurrentDirectory())                .ConfigureAppConfiguration((hostingContext, config) =>                {                    var env = hostingContext.HostingEnvironment;                    config.SetBasePath(Directory.GetCurrentDirectory())                          .AddJsonFile(Path.Combine("Configs", "appsettings.json"), optional: false, reloadOnChange: true)                          .AddJsonFile(Path.Combine("Configs", $"appsettings.{env.EnvironmentName}.json"))                          .AddEnvironmentVariables();                })                .ConfigureLogging((hostingContext, logging) =>                {                    logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));                    logging.ClearProviders();                    //logging.AddDatabase();                })                .UseIIS()                .UseIISIntegration()                .UseStartup()                .Build();        }

主要参考官方文档:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/host/web-host?view=aspnetcore-2.2#manage-the-host

到此,相信大家对"asp.net core主机的用法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0