.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()
               .BuildServiceProvider();
            //configure console logging
            serviceProvider
                .GetService().Initialize("UnityDataManageServiceHost");
            serviceProvider
                .GetService().LogLevel = LoggingEventType.Debug;
            //save log
            var _logger = serviceProvider.GetService();
            _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();
        }
    }
}

安装依赖Microsoft.Extensions.DependencyInjection,或使用nuget进行安装

选择合适的版本进行安装

.Net or .Net Core依赖注入实现Microsoft.Extensions.DependencyInjection_第1张图片

二、运行测试

你可能感兴趣的:(.Net,.netcore)