当前位置: 首页 > news >正文

北京58网站建设互联网工程师

北京58网站建设,互联网工程师,杭州做宠物网站的公司,安卓编程软件app翻译自 Mohamad Lawand 2021年3月24日的文章 《.NET 5 Console App with Dependency Injection, Serilog Logging, and AppSettings》 [1]在本文中#xff0c;我们将构建一个 .NET 5 控制台应用程序#xff0c;该应用程序支持依赖注入、日志记录和 appsettings 配置。你也可以… 翻译自 Mohamad Lawand 2021年3月24日的文章 《.NET 5 Console App with Dependency Injection, Serilog Logging, and AppSettings》 [1]在本文中我们将构建一个 .NET 5 控制台应用程序该应用程序支持依赖注入、日志记录和 appsettings 配置。你也可以在 YouTube 上观看完整的视频[2]还可以在 GitHub 上下载源代码[3]。我们要用到的开发工具有Visual Studio Code (https://code.visualstudio.com/).NET Core SDK (https://dotnet.microsoft.com/download)我们要实现的功能包含依赖注入Serilog LoggerAppSettings我们将构建一个示例应用程序该应用程序将模拟通过依赖注入连接数据库并输出日志。首先我们在终端中创建应用程序dotnet new console -n SampleApp 创建好应用程序后在 Visual Studio Code 中打开应用程序然后构建并运行一下以确保一切正常dotnet build dotnet run 接下来是安装我们所需的程序包dotnet add package Microsoft.Extensions.Hosting dotnet add package Serilog.Extensions.Hosting dotnet add package Serilog.Settings.Configuration dotnet add package Serilog.Sinks.Console 下一步是添加 appsettings.json在应用程序的根目录中右键单击并选择 New File将文件名称设置为 appsettings.json。我们将在 appsettings 中添加所需的配置项——Serilog以及用于模拟数据库连接的 ConnectionStrings{Serilog: {MinimalLevel: {Default: Information,Override: {System: Warning,Microsoft: Information}}},ConnectionStrings: {DefaultConnection: DataSource:app.db;CacheShared} } 我们从实现日志记录的机制开始讲起。在 Program.cs 中添加以下代码该段代码的职责是读取 appsetting.json 并将其提供给我们的应用程序// 检查应用程序运行的当前目录找到并加载 appsetting.json // 然后添加环境变量这些环境变量会覆盖 appsettings.json 中的配置 static void BuildConfig(IConfigurationBuilder builder) {builder.SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile(appsettings.json, optional: false, reloadOnChange: true).AddEnvironmentVariables(); } 然后我们需要创建另一个方法该方法是我们应用程序的启动方法它负责将所有的内容汇集在一起。我们将定义 Serilog 和 .NET Core 中的依赖注入机制。static IHost AppStartup() {var builder new ConfigurationBuilder();BuildConfig(builder);// 定义 Serilog 配置Log.Logger new LoggerConfiguration() //初始化 Logger 配置.ReadFrom.Configuration(builder.Build()) //将 Serilog 连接到我们的配置.Enrich.FromLogContext() //从装入的 Serilog 向日志添加更多信息.WriteTo.Console() //决定在哪里显示日志.CreateLogger(); //初始化 LoggerLog.Logger.Information(Application Starting);// 初始化依赖注入容器var host Host.CreateDefaultBuilder() //初始化 Host .ConfigureServices((context, services) //向容器添加服务{}).UseSerilog() //添加 Serilog.Build(); //构建 Hostreturn host; } 现在让我们实现数据服务用它来模拟数据库。让我们创建一个名为 DataService 的新类和一个名为 IDataService 的接口// 接口 public interface IDataService {void Connect(); }// 类 public class DataService : IDataService {private readonly ILoggerDataService _log;private readonly IConfiguration _config;public DataService(ILoggerDataService log, IConfiguration config){_log log;_config config;}public void Connect(){// 读取连接字符串var connString _config.GetValuestring(ConnectionStrings:DefaultConnection);_log.LogInformation(Connection String {cs}, connString);} } 然后我们需要更新 Program.cs 类中的 AppStartup 方法以注入 DataServicevar host Host.CreateDefaultBuilder() //初始化 Host .ConfigureServices((context, services) //向容器添加服务{services.AddTransientIDataService, DataService(); //AddTransient 意味着每次请求都会创建一个实例。}).UseSerilog() //添加 Serilog.Build(); //构建 Host 最后让我们在 Main 方法中调用他们static void Main(string[] args) {var host AppStartup();var dataService ActivatorUtilities.CreateInstanceDataService(host.Services);dataService.Connect(); } 好了就是这样。感谢您的阅读。相关链接https://dev.to/moe23/net-5-console-app-with-dependency-injection-serilog-logging-and-appsettings-3d4n .NET 5 Console App with Dependency Injection, Serilog Logging, and AppSettings ↩︎https://youtu.be/4mEN1XpLN_s ↩︎https://github.com/mohamadlawand087/v22-DotnetConsole ↩︎作者 Mohamad Lawand译者 技术译民出品 技术译站https://ITTranslator.cn/END
http://wiki.neutronadmin.com/news/6859/

相关文章:

  • 网站站点是什么科技资讯网站有哪些
  • 永春县住房和城乡规划建设局网站手机网站安全证书过期怎么处理
  • 海外域名注册网站重庆建网站流程
  • 兰州做网站泰兴公司做网站
  • 服装设计参考网站公司网站设计维护
  • wordpress最新主题百度整站优化
  • 房屋网站wordpress文档可以下载吗
  • 郑州网站建设用户广州住房保障城市建设局网站
  • 网站建设基础入门西安网站制作 西安彩铃400电话
  • 个人宽带备案网站wordpress考试系统
  • 非常好的网站建设公司网站建设的定位是什么意思
  • 网站建设为什么不清晰阿里云网站怎么备案域名
  • asp.net怎么生成网站龙华网站建设推广平台
  • 网站建设与制作教程下载做外贸网站服务器要选择哪里的
  • 门户网站如何帮企业做宣传曲靖网站微信建设
  • 唐山手机网站建设网站快备案
  • 域名之后怎么做网站网站手机采集
  • 分类网站上怎么做锚文本广东
  • 网站建设公司 信科便宜垂直购物网站建设
  • 成都网站搜索优化手游网页版
  • 网站建设企业排行培训机构专业
  • 邢台网站网页设计公司php网站模板怎么安装
  • 医生工作室网站建设建一个做笔记的网站
  • 北京市建设厅网站首页深圳网站建设app开发
  • 建设厅网站进不去中国机械加工网商城
  • 河南科技网站建设比亚迪新能源汽车报价大全一览表
  • 做电影网站多少钱wordpress用户组阅读文章
  • 深圳快速网站制作为什么选择当网站设计人员
  • 学什么可以做视频网站wordpress 对象存储插件
  • 史志网站建设网站怎么申请域名