コード例 #1
0
        protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(bundle);

            global::Xamarin.Forms.Forms.Init(this, bundle);
            LoadApplication(AutofacContainer.GetApplicationInstance(new AndroidContainerBuilder(), new AppModuleService()));
        }
コード例 #2
0
        private static void FireAndForgetCommands <T>(List <T> commands)
        {
            var factory = AutofacContainer.Resolve <ICommandHandlerFactory>();
            var sampleCommandHandler = factory.GetCommandHandler <T>();

            commands.ForEach(async cmd =>
            {
                await sampleCommandHandler.Handle(cmd);
            });
        }
コード例 #3
0
 public static IServiceProvider BuildAspectCoreWithAutofacServiceProvider(this IServiceCollection services, Action <IAspectConfiguration> configure = null)
 {
     if (services == null)
     {
         throw new ArgumentNullException(nameof(services));
     }
     services.AddDynamicProxy();
     services.AddAspectCoreContainer();
     return(AutofacContainer.Build(services, configure));
 }
コード例 #4
0
        /// <summary>
        /// Sets the IoC.
        /// </summary>
        private void SetIoc()
        {
            var app = new XFormsAppiOS();

            app.Init(this);

            var documents      = app.AppDataDirectory;
            var pathToDatabase = Path.Combine(documents, "RMMT.db");

            var builder = new ContainerBuilder();

            builder.RegisterType <AccountService>().As <IAccountService>();
            builder.RegisterType <NotifiMngService>().As <INotifiMngService>();
            builder.RegisterType <ImproveService>().As <IImproveService>();
            builder.RegisterType <TourService>().As <ITourService>();
            builder.RegisterType <CaseService>().As <ICaseService>();
            builder.RegisterType <CalendarService>().As <ICalendarService>();
            builder.RegisterType <CommonFun_IOS>().As <ICommonFun>();
            builder.RegisterType <FilePickerImplementation>().As <IFilePicker>();
            builder.RegisterType <ReviewPlansService>().As <IReviewPlansService>();
            builder.RegisterType <RemoteService>().As <IRemoteService>();
            builder.RegisterType <LocalScoreService>().As <ILocalScoreService>();
            builder.RegisterType <ReportService>().As <IReportService>();
            #region sqlite
            builder.RegisterType <SqliteRepository <TaskOfPlanDto> >().As <IRepository <TaskOfPlanDto> >();
            builder.RegisterType <SqliteRepository <Distributor> >().As <IRepository <Distributor> >();
            builder.RegisterType <SqliteRepository <LoaclItemOfTaskDto> >().As <IRepository <LoaclItemOfTaskDto> >();
            builder.RegisterType <SqliteRepository <CheckStandard> >().As <IRepository <CheckStandard> >();
            builder.RegisterType <SqliteRepository <StandardPic> >().As <IRepository <StandardPic> >();
            builder.RegisterType <SqliteRepository <PictureStandard> >().As <IRepository <PictureStandard> >();
            builder.RegisterType <SqliteRepository <Score> >().As <IRepository <Score> >();
            builder.RegisterType <SqliteRepository <TaskOfPlan> >().As <IRepository <TaskOfPlan> >();
            builder.RegisterType <SqliteRepository <CheckResult> >().As <IRepository <CheckResult> >();
            builder.RegisterType <SqliteRepository <Domain.StandardPic> >().As <IRepository <Domain.StandardPic> >();
            builder.RegisterType <SqliteRepository <CustomizedTaskDto> >().As <IRepository <CustomizedTaskDto> >();
            builder.RegisterType <SqliteRepository <PlanDto> >().As <IRepository <PlanDto> >();
            builder.RegisterType <SqliteRepository <CustImproveItemDB> >().As <IRepository <CustImproveItemDB> >();
            builder.RegisterType <SqliteRepository <TaskCard> >().As <IRepository <TaskCard> >();
            builder.RegisterType <SqliteRepository <TaskItem> >().As <IRepository <TaskItem> >();
            builder.RegisterType <SqliteRepository <NameValueObject> >().As <IRepository <NameValueObject> >();
            #endregion
            builder.RegisterInstance(new CommonHelper(new Config.Config()));
            builder.RegisterInstance(new Config.Config());
            builder.RegisterType <SQLite_iOS>().As <ISQLite>();
            builder.Register(ctx =>
            {
                return(new AccountInfo());
            });
            //builder.Register<IDevice>(t => AppleDevice.CurrentDevice);

            var container         = builder.Build();
            var resolverContainer = new AutofacContainer(container);

            Resolver.SetResolver(resolverContainer.GetResolver());
        }
コード例 #5
0
        /// <summary>
        /// Configures LightBDD to use Autofac container described by <paramref name="builder"/>.
        /// </summary>
        /// <param name="configuration">Configuration.</param>
        /// <param name="builder">Autofac container builder.</param>
        public static DependencyContainerConfiguration UseAutofac(
            this DependencyContainerConfiguration configuration,
            ContainerBuilder builder)
        {
            var container = new AutofacContainer();

            container.AutofacScope = container.RegisterSelf(builder).Build();

            configuration.UseContainer(container);
            return(configuration);
        }
コード例 #6
0
        /// <summary>
        /// Configures LightBDD to use provided <paramref name="container"/> Autofac container.<br/>
        /// Please note that <paramref name="container"/> will not be disposed by LightBDD after test run, but rather treat it as externally owned instance
        /// - use <see cref="UseAutofac(DependencyContainerConfiguration,ContainerBuilder)"/> if container should be fully managed by LightBDD.
        /// </summary>
        /// <param name="configuration">Configuration.</param>
        /// <param name="container">Container to use.</param>
        public static DependencyContainerConfiguration UseAutofac(
            this DependencyContainerConfiguration configuration,
            ILifetimeScope container)
        {
            var autofacScope = new AutofacContainer();

            autofacScope.AutofacScope = container.BeginLifetimeScope(builder => autofacScope.RegisterSelf(builder));

            configuration.UseContainer(autofacScope);
            return(configuration);
        }
コード例 #7
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            AutofacContainer.GetContainer(typeof(MvcApplication).Assembly);

            //OAuthRegisterClient
        }
コード例 #8
0
        public static void Configure()
        {
            ContainerBuilder builder = new ContainerBuilder();

            builder.RegisterType <PostRepository>().As <IRepositoryBase <AspNetPosts> >();
            builder.RegisterType <SocialMediaContext>().As <DbContext>();

            IContainer container = builder.Build();

            AutofacContainer.Initialize(container);
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: Calabonga/SOLID
        static void Main(string[] args)
        {
            #region Container

            var container = AutofacContainer.Create();

            #endregion

            var machine = container.Resolve <DrawMachine>();

            machine.DrawAll();
        }
コード例 #10
0
        private void GetInfo(DateTime datetime, bool month)
        {
            var dayFinishedService = AutofacContainer.GetInstance().GetObject <IDayFinishedService>();

            var dto = dayFinishedService.GetFinishedInfo(datetime, month);

            this.lbCollection.Text = dto.CollectionCount.ToString();
            this.lbAssemble.Text   = dto.AssembleCount.ToString();
            this.lbFirst.Text      = dto.FistTestCount.ToString();
            this.lbLast.Text       = dto.LastTestCount.ToString();
            this.lbStorage.Text    = dto.StorageCount.ToString();
        }
コード例 #11
0
        public async Task StartAsync()
        {
            using (var scope = AutofacContainer.BeginLifetimeScope())
            {
                var commonConfig = scope.Resolve <ICommonConfig>();
                var logTrace     = scope.Resolve <ILogTrace>();

                logTrace.Push(LogLevel.Info, "title 1", "hello");
                logTrace.Push(LogLevel.Warning, "title 2", new { A = "b", C = "d" });
                logTrace.Flush();
            }
        }
コード例 #12
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var settings = TryReadSettings();

            var container = AutofacContainer.Build(this, settings);

            _rootLifetimeScope = container.BeginLifetimeScope();

            var gamePresenter = _rootLifetimeScope.Resolve <IGamePresenter>();

            gamePresenter.Start();
        }
コード例 #13
0
ファイル: Finger.cs プロジェクト: ChenxiaobaoPros/zhihuiyouju
 public Finger()
 {
     isBusy        = false;
     cancelled     = false;
     this.dll      = Config.App.Peripheral["finger"].Value <string>("dll");
     this.timeout  = Config.App.Peripheral["finger"].Value <int>("timeout");
     this.enabled  = Config.App.Peripheral["finger"].Value <bool>("enabled");
     this.name     = Config.App.Peripheral["finger"].Value <string>("name");
     scriptInvoker = AutofacContainer.ResolveNamed <IScriptInvoker>("scriptInvoker");
     asyncCaller   = new RunAsyncCaller(Read);
     Initialize();
 }
コード例 #14
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            var container = AutofacContainer.CreateDependenciesContainer();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
コード例 #15
0
        /// <summary>
        /// 装载角色列表
        /// </summary>
        private async Task AsyncLoadData_RoleList()
        {
            var roleService = AutofacContainer.GetInstance().GetObject <IRoleService>();
            BindingList <RoleDto> roleList = await roleService.GetRoleList();

            this.cboRoleList.DataSource = roleList;

            this.ListBoxRoles.DataSource = roleList;

            //消除默认选中事件
            btnClear_Click(null, null);
        }
コード例 #16
0
        protected async Task <T> GetRequest <T>()
        {
            string errors  = string.Empty;
            var    request = AutofacContainer.Resolve <IHttpContextAccessor>().HttpContext.Request;

            using (StreamReader reader = new StreamReader(request.Body, Encoding.UTF8))
            {
                var content = await reader.ReadToEndAsync();

                return(JsonConvert.DeserializeObject <T>(content));;
            }
        }
コード例 #17
0
ファイル: Program.cs プロジェクト: radtek/ApiServcer
        static void Main(string[] args)
        {
            var builder = new HostBuilder()
                          .ConfigureAppConfiguration((hostContext, config) =>
            {
                config.SetBasePath(Directory.GetCurrentDirectory());
                config.AddJsonFile("Config.json", optional: true);
            })
                          .ConfigureServices((hostContext, services) =>
            {
                services.AddSingleton <IHostLifetime, OwnLifetime>();
                services.AddHostedService <HttpServerHosted>();
                AutofacContainer.Register("Api.Services", "Api.IService");
                AutofacContainer.SetCodeFirstAsync("Api.Models"); //使用codefirst
                AutofacContainer.Build(services);                 //使用ioc注入
            })
                          .ConfigureLogging((hostingContext, logging) =>
            {
                logging.AddEventLog();    //启用系统事件日志,
                logging.AddDebug();
                logging.AddConsole();
                logging.AddEventSourceLogger();
            });

            //builder.Build().Run();
            HostFactory.Run(x =>
            {
                //服务名称
                x.SetServiceName("ApiService");
                //服务展示名称
                x.SetDisplayName("ApiService");
                //服务描述
                x.SetDescription("Api服务");
                //服务启动类型:自动
                x.StartAutomatically();
                //x.RunAsLocalSystem();
                x.Service <IHost>(s =>
                {
                    s.ConstructUsing(() => builder.Build());

                    s.WhenStarted(service =>
                    {
                        service.Start();
                    });

                    s.WhenStopped(service =>
                    {
                        service.StopAsync();
                    });
                });
            });
        }
コード例 #18
0
        public void TestInitailize()
        {
            scope       = AutofacContainer.GetLifetimeScope().Resolve <IServiceScope>();
            target      = scope.Resolve <IValidateObjectList>();
            target.ID   = Id;
            target.Name = Name;
            resolver    = scope.Resolve <FatClientContractResolver>();

            child      = scope.Resolve <IValidateObject>();
            child.ID   = Guid.NewGuid();
            child.Name = Guid.NewGuid().ToString();
            target.Add(child);
        }
コード例 #19
0
        public static void Configure()
        {
            var builder = new ContainerBuilder();

            builder.RegisterType <NorthwindContext>().As <INorthwindContext>();
            builder.RegisterType <ProductRepository>().As <IProductRepository>();
            builder.RegisterType <ProductService>().As <IProductService>();
            builder.RegisterType <ProductViewModel>().As <IProductViewModel>();

            IContainer container = builder.Build();

            AutofacContainer.Initialize(container);
        }
コード例 #20
0
        public static Infrastructure.IContainer Bootstrap()
        {
            var container = new AutofacContainer(
                builder =>
                {
                    builder.RegisterModule<ScramblerModule>();
                });

            container.Add((Infrastructure.IContainer)container);

            //ServiceLocator.SetContainer(container);

            return container;
        }
コード例 #21
0
ファイル: App.xaml.cs プロジェクト: Dmdv/BluetoothDemo
        public App()
        {
            var containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterModule <Module>();

            _container = new AutofacContainer(containerBuilder);

            // ReSharper disable once UnusedVariable
            var bootstrapper = new Bootstrapper <LoginViewModel>(this, _container);

            //bootstrapper.ShutdownOnMainViewModelClose = false;
            //Current.ShutdownMode = ShutdownMode.OnLastWindowClose;
        }
コード例 #22
0
ファイル: EditBaseTests.cs プロジェクト: keithdv/OOBehave
        public void TestInitialize()
        {
            scope = AutofacContainer.GetLifetimeScope();

            editPerson = scope.Resolve <IEditPerson>();
            var parentDto = scope.Resolve <IReadOnlyList <PersonDto> >().Where(p => !p.FatherId.HasValue && !p.MotherId.HasValue).First();

            editPerson.FillFromDto(parentDto);
            editPerson.MarkOld();
            editPerson.MarkUnmodified();
            Assert.IsFalse(editPerson.IsModified);
            Assert.IsFalse(editPerson.IsNew);
            Assert.IsFalse(editPerson.IsSavable);
        }
コード例 #23
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            AutofacContainer.Register();

            Mapper.Initialize(cfg =>
            {
                AutoMapperConfig.Configure(cfg);
            });
        }
コード例 #24
0
        /// <summary>
        ///  计划单号不能重复   在此检验
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void PlanNoTxtBox_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                var orderService = AutofacContainer.GetInstance().GetObject <IOrderService>();


                if (orderService.PlanNoExist(this.PlanNoTxtBox.Text.Trim()))
                {
                    MessageBox.Show("当前计划单号" + this.PlanNoTxtBox.Text + "数据库已存在");
                    this.PlanNoTxtBox.Select();
                }
            }
        }
コード例 #25
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
            services.Configure <ForwardedHeadersOptions>(options =>
            {
                options.KnownProxies.Add(IPAddress.Parse("10.0.0.100"));
            });

            services.AddCors(options =>
            {
                options.AddPolicy(MyAllowSpecificOrigins,
                                  builder =>
                {
                    //builder.WithOrigins(this.Configuration.GetSection("CorsIp")["IpAddress"])
                    builder.WithOrigins("*")
                    .AllowAnyHeader()
                    .AllowAnyMethod()
                    .AllowCredentials();
                });
            });
            services.AddSwaggerGen(gen =>
            {
                gen.SwaggerDoc("v1", new Info {
                    Title = "My API", Version = "v1"
                });
            });
            services.AddAuthentication(sharedOptions =>
            {
                sharedOptions.DefaultScheme          = CookieAuthenticationDefaults.AuthenticationScheme;
                sharedOptions.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
            });

            /*AddAzureAd(options =>
             * {
             *  Configuration.Bind("AzureAd", options);
             *  AzureAdOptions.Settings = options;
             * })
             * .AddCookie();*/
            services.Configure <AccountModel>(Configuration.GetSection("accountsetting"));
            services.AddHttpClient("chinacloudapi", x =>
            {
                x.BaseAddress = new Uri("https://management.chinacloudapi.cn/subscriptions/");
                x.DefaultRequestHeaders.Add("Cache-Control", "no-cache");
            });
            services.AddHttpClient();
            IocContainer autofac = new AutofacContainer(services);

            return(autofac.Build().FetchServiceProvider());
        }
コード例 #26
0
        /// <summary>
        /// 订单入库
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        ///
        private async void textBox_StorageNumber_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                if (!RegexHelper.RegExpNumber.IsMatch(this.textBox_StorageNumber.Text.Trim()))
                {
                    MessageBox.Show("入库数量应该是数字");
                    return;
                }

                var dgvOrderListCurrentRow = this.dgvOrderList.CurrentRow;
                if (dgvOrderListCurrentRow == null)
                {
                    return;
                }

                //从界面获取计划单号   和 入库数量
                var planId = this.textBox_Storage.Text.Trim();
                var currentStorageCount = Convert.ToInt32(this.textBox_StorageNumber.Text);

                var orderStorageDto = (dgvOrderListCurrentRow.DataBoundItem as OrderStorageDto);


                try
                {
                    var storageService = AutofacContainer.GetInstance().GetObject <IStorageService>();

                    var result = await storageService.OrderStorage(orderStorageDto, currentStorageCount);

                    if (!result.IsSucceed)
                    {
                        MessageBox.Show(result.Message);
                    }
                    else
                    {
                        //获取今日完成数量
                        var datFinishedService = AutofacContainer.GetInstance().GetObject <IDayFinishedService>();
                        this.DayStorageCount.Text = datFinishedService.GetTodayFinishedInfo(DateTime.Now).StorageCount.ToString();

                        this.textBox_Storage.Text       = "";
                        this.textBox_StorageNumber.Text = "";
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
コード例 #27
0
        protected UserBriefDto GetLoginUser(HttpCookie cookie)
        {
            string uid = CookieService.ReadCookies(cookie);

            if (string.IsNullOrEmpty(uid))
            {
                return(null);
            }

            using (IContainer container = AutofacContainer.GetContainer())
            {
                var us = container.Resolve <IUserService>(new TypedParameter(typeof(IRepositoryContext), new AdoRepositoryContext()));
                return(us.GetLoginUserById(uid));
            }
        }
コード例 #28
0
        public void Configuration(IAppBuilder app)
        {
            var container = new AutofacContainer().Container;

            var resolver = new AutofacDependencyResolver(container);

            app.UseAutofacMiddleware(container);

            app.MapSignalR(new HubConfiguration
            {
                Resolver = resolver
            });

            AddSignalRInjection(container, resolver);
        }
コード例 #29
0
        /// <summary>
        /// 从数据库获取分页的数据
        /// </summary>
        /// <param name="pageIndex"> 哪一页的数据</param>
        /// <returns></returns>
        private BindingList <DayFinishedDto> LoadData(int pageIndex)
        {
            var dayFinishedService = AutofacContainer.GetInstance().GetObject <IDayFinishedService>();

            var result = dayFinishedService.GetDayFinishedList(pageIndex, PageSize);

            var totalCount = result.TotalCount;

            //分页数量
            _pageCount = (int)(totalCount % PageSize == 0 ? totalCount / PageSize : (totalCount / PageSize) + 1);

            _currentPage = _pageCount == 0 ? 0 : pageIndex;

            return(result.CurrentPageData);
        }
コード例 #30
0
        private async void BtnStorageDetail_Click(object sender, EventArgs e)
        {
            var orderId = CheckAndGetOrderId();

            if (orderId != 0)
            {
                var storageService = AutofacContainer.GetInstance().GetObject <IStorageService>();

                var storageList = await storageService.GetOrderStorageList(orderId);

                var detailForm = new FrmDetail($"订单:{orderId}入库详情", storageList);

                detailForm.ShowDialog();
            }
        }
コード例 #31
0
        /// <summary>
        /// 从数据库获取分页的数据
        /// </summary>
        /// <param name="pageIndex"> 哪一页的数据</param>
        /// <param name="orderStorageState">获取订单状况</param>
        /// <returns></returns>
        private BindingList <OrderStorageDto> LoadData(int pageIndex, OrderStorageState orderStorageState)
        {
            var orderService = AutofacContainer.GetInstance().GetObject <IOrderService>();

            var result = orderService.GetOrders(pageIndex, PageSize, orderStorageState);

            var totalCount = result.TotalCount;

            //分页数量
            _pageCount = (int)(totalCount % PageSize == 0 ? totalCount / PageSize : (totalCount / PageSize) + 1);

            _currentPage = _pageCount == 0 ? 0 : pageIndex;

            return(result.CurrentPageData);
        }
コード例 #32
0
 public static IDenpendencyContainer CreateNewContainer(ContainerStyle style)
 {
     switch (style)
     {
         case  ContainerStyle.Autofac:
             ContainerBuilder builder = new ContainerBuilder();
             var container = new AutofacContainer(builder.Build());
             return container;
         //case "Microsoft Unity":
         //    IUnityContainer unityBuilder = new UnityContainer();
         //    MicrosoftUnityContainer unityContainer = new MicrosoftUnityContainer(unityBuilder);
         //    return unityContainer;
         default:
             ContainerBuilder builder2 = new ContainerBuilder();
             var container2 = new AutofacContainer(builder2.Build());
             return container2;
     }
 }