ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

ASP.NET Core-Environment、IWebHostEnvironment、IApplicationLifetime Environment

2022-07-01 09:37:03  阅读:174  来源: 互联网

标签:Core ASP name ENVIRONMENT ASPNETCORE Environment env context Response


Environment

静态类,提供有关当前环境的信息和操作方法和平台。

System.Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");//读取环境变量

IWebHostEnvironment

IWebHostEnvironment接口中是一些该应用程序的环境信息,包括程序名称信息,根目录,环境名称 等等基本信息
IWebHostEnvironment接口继承IHostEnvironment接口

await context.Response.WriteAsync($"name=\"{env.ApplicationName}\"");
await context.Response.WriteAsync($"name=\"{env.ContentRootFileProvider}\"");
//网站根目录
await context.Response.WriteAsync($"name=\"{env.ContentRootPath}\"");
await context.Response.WriteAsync($"name=\"{env.EnvironmentName}\"");
//wwwroot目录对应的FileProvider
await context.Response.WriteAsync($"name=\"{env.WebRootFileProvider}\"");
//wwwroot目录
await context.Response.WriteAsync($"name=\"{env.WebRootPath}\"");

env.IsDevelopment();//是否开发环境,ASPNETCORE_ENVIRONMENT环境变量值是否是Development
env.IsProduction();//是否生产环境,ASPNETCORE_ENVIRONMENT环境变量值是否是Production
env.IsStaging();
env.IsEnvironment("ok");//ASPNETCORE_ENVIRONMENT环境变量值是否是ok

ASP.NET Core 在应用启动时读取环境变量 ASPNETCORE_ENVIRONMENT,ASPNETCORE_ENVIRONMENT 可设置为任意值,但框架仅支持三个值:Development(开发)、Staging(测试)、Production(生产)。 如果未设置 ASPNETCORE_ENVIRONMENT,则默认为 Production(即生产环境)

env.IsDevelopment();//是否开发环境
env.IsProduction();//是否生产环境
env.IsStaging();//是否测试环境
env.IsEnvironment("xxx");//是否自定义环境

设置环境变量的三种方法:

1、在CMD中设置(临时): set ASPNETCORE_ENVIRONMENT=Staging

2、电脑环境变量全局设置:我的电脑属性→环境变量→ASPNETCORE_ENVIRONMENT :Development

3、代码层次launchSettings.json中配置,配置文件中有两个选项,一个是IIS Express,一个是项目名称,这两个对应上面VS工具栏不同的启动方式,省略的话默认为 Production环境。

注意:前两种方式只适用于通过命令启动的模式,如: dotnet ManyEnvironment.dll

IApplicationLifetime

IApplicationLifetime是用来绑定应用程序的运行时事件的

applicationLifetime.ApplicationStarted.Register(() =>
            {
                Console.WriteLine("Strated");
            });
applicationLifetime.ApplicationStopping.Register(() =>
            {
                Console.WriteLine("Stoping");
            });
applicationLifetime.ApplicationStopped.Register(() =>
            {
                Console.WriteLine("Strated");
       }
 IHostApplicationLifetime:与IApplicationLifetime接口作用相同

标签:Core,ASP,name,ENVIRONMENT,ASPNETCORE,Environment,env,context,Response
来源: https://www.cnblogs.com/ivan0915/p/16433370.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有