zoukankan      html  css  js  c++  java
  • windows服务/winform中使用Autofac依赖注入

    其实Windows服务使用autofac注入很简单,只需要简单的配置然后调用Build就可以。以下代码winform中同样可以用

    /*

    .Net framework 4.5

    Autofac 4.9.4.0

    EF 6

    App.config 中connectionStrings的配置和winform一样

    */

    ----AutofacBuilder.cs

    public  class AutofacBuilder
        {
            private static IContainer _container; 
            public static void init()
            {  
                ContainerBuilder builder = new ContainerBuilder();  
                //配置接口依赖
    //            builder.RegisterType<MyDbContext>().As<DbContext>(); //EF依赖注入 
    //            builder.RegisterType<Service1>().As<Service1>(); //这一句可以不要,因为下面已经把当前程序集下的类注入了ico容器
              
                //注册当前程序集的所有类成员
                builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
                    .AsImplementedInterfaces().AsSelf();

                _container = builder.Build();  //只有在Build之后,才能调用GetFromFac
            }
            public static T GetFromFac<T>()
            {
                return _container.Resolve<T>();
            }
        }

    -----Program.cs

     static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            static void Main()
            {

                //windows服务初始化工作
                AutofacBuilder.init();
              
                var srv1=AutofacUtil.GetFromFac<Service1>(); //获取服务Service1
                ServiceBase.Run(srv1);
            }
        }

  • 相关阅读:
    idea快捷的输出常用语句
    OneinStack基础搭建typecheo轻量级博客
    自动化框架介绍及使用
    jenkins配置自动化
    selenium模拟鼠标点击
    Linux下安装nginx
    解决“chrome正受到自动测试软件的控制”信息栏显示问题
    Git 常用操作
    ZendStudio自定义代码补全,自定义代码段
    07-python之装饰器
  • 原文地址:https://www.cnblogs.com/pzxnet/p/12893264.html
Copyright © 2011-2022 走看看