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

怎样制作网站平台wordpress 模板 推荐

怎样制作网站平台,wordpress 模板 推荐,做网站可以申请国家补助吗,在哪找可以做网站的ASP.NET Core 中依赖注入是一个很重要的环节。因为几乎所有的对象都是由它创建的#xff08;相关文章请参见《ASP.NET Core 沉思录 - ServiceProvider 的二度出生》#xff09;。因此整个日志记录的相关类型也被直接添加到了 IServiceCollection 中。今天我们将介绍各个接口/… ASP.NET Core 中依赖注入是一个很重要的环节。因为几乎所有的对象都是由它创建的相关文章请参见《ASP.NET Core 沉思录 - ServiceProvider 的二度出生》。因此整个日志记录的相关类型也被直接添加到了 IServiceCollection 中。今天我们将介绍各个接口/类型之间的关系并找到介入日志记录功能的两个主要的入口。ASP.NET Core 的日志功能结构为什么当我们恰当对日志进行配置之后就可以记录日志呢。那是因为 Framework 一定已经将最关键的类型添加到了 IServiceCollection 中。在 ASP.NET Core 中应用程序的启动一定会创建 WebHost 而创建 WebHost 一般会用到 WebHostBuilder。在 WebHostBuilder 创建过程中就将一些核心的日志记录相关类型添加到了 IServiceCollection 中。前面我们介绍过IServiceProvider 有两次创建过程一次是在调用 WebHostBuilder.Build 时创建的 Hosting 相关的 IServiceProvider另一次是在 WebHost.StartXxx 方法时创建的应用程序使用的 IServiceProvider。而日志相关类型第一次的 IServiceProvider 创建之前就已经添加到 IServiceCollection 中了。在本文写作时第一次 IServiceCollection 实例的创建是在 WebHostBuilder.BuildCommonServices 方法中大概的流程是创建 ServiceCollection调用 AddLogging 扩展方法将 IOptions; 及其它形式、ILoggerFactory、ILogger、IConfigurator、IConfigureOptions 添加到 ServiceCollection 中。如果在配置 IWebHostBuilder 过程中调用过 ConfigureLogging 则调用相关委托添加或替换相关日志记录的类型。代码请参见WebHostBuilder.cs (https://github.com/aspnet/AspNetCore/blob/master/src/Hosting/Hosting/src/WebHostBuilder.cs) 以及LoggingServiceCollectionExtensions.cs (https://github.com/aspnet/Extensions/blob/master/src/Logging/Logging/src/LoggingServiceCollectionExtensions.cs)。因此以上提到的类型就是日志功能的核心类型了。梳理一下这些类型的依赖关系就可以弄清 ASP.NET Core 的日志功能结构了。弄清一个结构需要关注两个部分的内容第一个部分是声明上的依赖关系静态另一个部分是调用上的依赖关系动态。因此我们也会采用这种方式进行梳理。首先声明上的依赖关系如下以上结构在运行时会创建三层 ILogger 实现最外面的一层就是我们使用的 ILogger 实现。它是由 IServiceProvider 直接创建的。第二层是 LoggerFactory 创建的 Logger它是一个组合 Logger。第三层是由 ILoggerProvider 实现创建的负责具体记录日志的 ILogger 实现。这些 Logger 都会添加到第二层的组合 Logger 中。而后在日志记录时正是按照这三层结构进行任务分发的。介入日志功能的几个入口在了解上述结构之后不难使用我们的具体实现替换默认的 .NET 日志记录结构。首先在使用上 ASP.NET Core 上使用的日志记录接口有两种第一种即 ILoggerFactory进而创建 ILogger。例如 这里。而另外一种则是直接使用 ILogger。因此我们的介入点有两个直接替换 ILoggerFactory 的实现这样可以完全定义自己的 Logger - Sink 结构和过滤逻辑但工作量较大。实现 ILoggerProvider并将其添加到 IServiceCollection 中。这样可以复用现有的日志逻辑。很多第三方日志库就是有选择的采用了上述一种或者两种方式。例如以 Serilog 为例它支持上述两种接口首先、我们可以使用 webHostBuilder.UseSerilog(...) 的方式将其纳入应用程序中。而这种方式使用第一种介入方法。具体代码请看https://github.com/serilog/serilog-aspnetcore/blob/dev/src/Serilog.AspNetCore/SerilogWebHostBuilderExtensions.cs。其次、我们可以使用 loggerBuilder.AddSerilog(...) 的方式将其纳入应用程序中。而这种方式使用第二种介入方法。具体代码请看https://github.com/serilog/serilog-extensions-logging/blob/dev/src/Serilog.Extensions.Logging/SerilogLoggingBuilderExtensions.cs。总结日志记录有很多可以思考的地方今天我们只关注 ASP.NET Core 中日志介入的入口。总结起来有两个主要入口第一、直接替换 ILoggerFactory 实现第二、实现具体的 ILoggerProvider 并将其添加到 IServiceCollection 中。如果您觉得本文对您有帮助也欢迎分享给其他的人。我们一起进步。欢迎关注我的博客https://clrdaily.com和微信公众号
http://www.sadfv.cn/news/43330/

相关文章:

  • 做网站需要学编程吗网站制作公司的宣传海报
  • 现在石家庄做网站的公司有哪几家开发网站怎样注册公司
  • 汽车门户网站程序网站开发属于什么岗位
  • 西安网络推广网站优化自己做的网站图片无法显示
  • 南山网站 建设深圳信科天河建设网站多少钱
  • 成都 网站建设 公司哪家好搜索引擎优化的对比
  • 一个网站可以做多少地区词开网站建设公司挣钱吗
  • 规划网站开发总体方案网站加载慢图片做延时加载有用
  • 我国外贸网站的建设怎样用腾讯云做网站
  • 西宁网站建设维护建设网站答辩情况
  • 绵阳的网站建设沈阳seo排名外包
  • 网站锚文本链接怎么做wordpress域名地址设置
  • 成都网站营销推广公司wordpress站群主机
  • 百度seo优化网站怎么做百度建站官网
  • 商品网站建设设计思路优秀的版式设计网站
  • 怎样申请网站ueditor wordpress
  • 网站建设.国风网络南昌专门做网站
  • 企业建设网站的主要目的中国五大网络运营商
  • 网站前端开发培训资料合肥网站建设维护
  • 网站建设微金手指下拉15中国建筑网官网建设通
  • 网站模板 整站源码大数据营销侵权案例
  • 学校微网站模板下载地址wordpress本地nginx
  • 后浪 网站建设类jsp网站建设论文
  • 专业网站建设代理商企业信息平台查询
  • 用r做简易的网站杭州移动公司网站
  • 深圳网站制作西安网站备案 99
  • 十大门户网站有哪些滨城区住房和城乡建设局网站
  • 一个成功的网站要具备哪些方面网站推广营销效果
  • 做网站的人多吗农村电子商务发展现状
  • 国外打开国内网站慢成都房价