⭐️ 如果你喜欢 Furion ,可以在 Gitee 中给个star ⭐️
Skip to main content

1. App 静态类

1.1 获取全局配置#

var settings = App.Settings;

1.2 获取配置对象#

// 获取 IConfiguration 对象
var configuration = App.Configuration;
var value = configuration["xxx:xxx"];
// 获取指定节点值并转成 T 类型
var data = App.GetConfig<TConfig>("key:key2");

1.3 获取环境对象#

var webHostEnvironment = App.WebHostEnvironment;

1.4 获取项目所有程序集#

var assemblies = App.Assemblies;

1.5 获取项目所有有效类型#

var types = App.EffectiveTypes;

1.6 获取 HttpContext#

var httpContext = App.HttpContext;

1.7 获取登录的 User 对象#

var contextUser = App.User;
// 获取 `Jwt` 存储的信息
var userId = App.User?.FindFirstValue("键");

注意引入 System.Security.Claims 命名空间

1.8 获取服务提供器#

var serviceProvider = App.ServiceProvider;

1.9 解析服务#

var service = App.GetService<TService>();
var service2 = App.GetService(typeof(TService));
var service3 = App.GetRequiredService<TService>();
var service4 = App.GetRequiredService(typeof(TService));

1.10 获取选项配置#

var options = App.GetOptions<TOptions>();
var options2 = App.GetOptionsMonitor<TOptions>();
var options3 = App.GetOptionsSnapshot<TOptions>();

1.11 打印数据到 MiniProfiler#

App.PrintToMiniProfiler("分类", "状态", "要打印的消息");

1.12 获取应用名称#

var applicationName = App.HostEnvironment.ApplicationName;

1.13 获取网站根目录#

var webRootPath = App.HostEnvironment.ContentRootPath;

1.14 获取网站根目录 wwwroot 目录#

var wwwroot = App.WebHostEnvironment.WebRootPath;

1.15 获取启动项目所在程序集#

var webAssembly = Assembly.GetEntryAssembly();

1.16 获取启动项目 bin 目录#

var binPath = AppContext.BaseDirectory;

1.17 获取环境变量名#

var environmentName = App.HostEnvironment.EnvironmentName;

1.18 判断系统环境#

// 判断是否开发环境
var isDevelopment = App.HostEnvironment.IsDevelopment();
// 判断是否生产环境
var isProduction = App.HostEnvironment.IsProduction();
// 判断是否 Stage 环境
var isStaging = App.HostEnvironment.IsStaging();
// 判断是否是特定环境,比如自定义测试环境
var isTest = App.HostEnvironment.IsEnvironment("TestEnvironment");

注意,需引用 Microsoft.Extensions.Hosting 命名空间

1.19 获取服务器信息#

// 获取系统架构
var osArchitecture = RuntimeInformation.OSArchitecture; // => X64
// 获取系统名称
var osDescription = RuntimeInformation.OSDescription; // => Windows 10 企业版
// 获取进程架构
var processArchitecture = RuntimeInformation.ProcessArchitecture; // => X64
// 是否是64位操作系统
var is64BitOperatingSystem = Environment.Is64BitOperatingSystem; // => True
Last updated on by 百小僧