.Net or .Net Core依赖注入实现Microsoft.Extensions.DependencyInjection
Posted シ゛甜虾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.Net or .Net Core依赖注入实现Microsoft.Extensions.DependencyInjection相关的知识,希望对你有一定的参考价值。
依赖注入的优点
(1)有效地设计服务及其依赖关系。
(2)防止多线程问题。
(3)防止内存泄漏。
(4)防止潜在的错误。
工程代码下载
.Netor.NetCore依赖注入实现-C#文档类资源-CSDN下载
一、新建控制台项目
新建StartUp类,代码如下,如果你们没有用到Logger删掉Logger相关内容即可
using FileLogger;
namespace UnityDataManageServiceHost
class StartUp
public static void Main(string[] args)
//setup our DI
var serviceProvider = new ServiceCollection()
.AddSingleton<ILogger, Log4netLogger>()
.BuildServiceProvider();
//configure console logging
serviceProvider
.GetService<ILogger>().Initialize("UnityDataManageServiceHost");
serviceProvider
.GetService<ILogger>().LogLevel = LoggingEventType.Debug;
//save log
var _logger = serviceProvider.GetService<ILogger>();
_logger.Debug(typeof(StartUp), "Starting application");
//全部异常捕获,优雅退出
try
catch (Exception ex)
_logger.Debug(typeof(StartUp), "Main Exception" + " Exception=" + ex);
_logger.Debug(typeof(StartUp), "Stop application");
System.Diagnostics.Process.GetCurrentProcess().Kill();
//入口函数
public static void Start(ServiceProvider serviceProvider)
var logger = serviceProvider.GetService<ILogger>();
安装依赖Microsoft.Extensions.DependencyInjection,或使用nuget进行安装
选择合适的版本进行安装
二、运行测试
以上是关于.Net or .Net Core依赖注入实现Microsoft.Extensions.DependencyInjection的主要内容,如果未能解决你的问题,请参考以下文章
没有 [ServiceFilter] 或 [TypeFilter] 的过滤器中的 Asp.net Core 依赖注入
.NET Core 3.1 中的依赖注入具有多种实现 [重复]
Asp.net Core AutoFac根据程序集实现依赖注入