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);
            }
        }

  • 相关阅读:
    基于HTML5技术的电力3D监控应用(三)
    XCODE 出现 The operation couldn't be completed.(LaunchServicesError error 0.)错误修复
    iOS本地动态验证码生成-b
    裁剪出环形图片
    UITableView实现格瓦拉飞天投票模块-b
    高仿猫眼电影选座(选票)模块-b
    java和php实现RSA加密互通-b
    iOS10 权限崩溃问题-b
    iOS百度地图路径规划和POI检索详细总结-b
    iOS 的 Gif 渲染
  • 原文地址:https://www.cnblogs.com/pzxnet/p/12893264.html
Copyright © 2011-2022 走看看