1. App 静态类
📝 模块更新日志
-
新特性
-
App.CompileCSharpClassCode(code)动态编译类定义代码 4.8.8.7 ⏱️2023.04.30 fe1e8a1 -
App.GetServices(type)和App.GetServices<T>()获取服务实例集合 4.8.7.33 ⏱️2023.04.03 c3e9957 -
App.GetServiceLifetime(type)获取服务注册生命周期类型 4.8.5.3 ⏱️2023.01.31 4a573a8 -
App.GetThreadId()和App.GetTraceId()获取线程Id和请求TraceId4.8.2.4 ⏱️2022.11.29 910fc1f -
App.GetExecutionTime(() => { /*Your Code*/ })获取代码执行耗时 4.8.2.4 ⏱️2022.11.29 5ab4b19
-
-
问题修复
-
App.CompileCSharpClassCode(code)运行时添加匿名程序集编译异常问题 4.8.8.8 ⏱️2023.05.04 322ea59
-
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");
// 重载/刷新配置
App.Configuration.Reload();
1.3 获取环境对象
var webHostEnvironment = App.HostEnvironment;
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;
// 获取根服务,通常用来解析单例,可优化性能
var rootService = App.RootServices;
1.9 解析服务
var service = App.GetService<TService>([IServiceProvider]);
var service2 = App.GetService(typeof(TService), [IServiceProvider]);
var service3 = App.GetRequiredService<TService>([IServiceProvider]);
var service4 = App.GetRequiredService(typeof(TService), [IServiceProvider]);
// Furion 4.8.7.33+ 支持
var services = App.GetServices<TService>([IServiceProvider]);
var services = App.GetServices(typeof(TService), [IServiceProvider]);
1.10 获取选项配置
var options = App.GetOptions<TOptions>([IServiceProvider]);
var options2 = App.GetOptionsMonitor<TOptions>([IServiceProvider]);
var options3 = App.GetOptionsSnapshot<TOptions>([IServiceProvider]);
1.11 打印数据到 MiniProfiler
App.PrintToMiniProfiler("分类", "状态", "要打印的消息");
1.12 获取应用名称
var applicationName = App.HostEnvironment.ApplicationName;