예제 #1
0
 private void CreateService()
 {
     using (IContainer container = AutofacContainer.GetContainer())
     {
         _ms = container.Resolve <IMenuService>(new TypedParameter(typeof(IRepositoryContext), new AdoRepositoryContext()));
     }
 }
예제 #2
0
파일: Program.cs 프로젝트: szymo0/Lecture2
        static void Main()
        {
            var container = AutofacContainer.GetContainer();

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
        }
예제 #3
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
        }
예제 #4
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));
            }
        }
예제 #5
0
        public IRepository <T> GetRepository <T>() where T : class, IAggregateRoot
        {
            var typeName = typeof(T).Name;

            if (!this._repositories.ContainsKey(typeName))
            {
                object repositoryInstance = null;
                using (IContainer container = AutofacContainer.GetContainer())
                {
                    repositoryInstance = container.Resolve <IRepository <T> >(new TypedParameter(typeof(IAdoRepositoryContext), this));
                }

                if (repositoryInstance != null)
                {
                    this._repositories.Add(typeName, repositoryInstance);
                }
            }

            return((IRepository <T>) this._repositories[typeName]);
        }
        internal static void ConfigureAutofac(List <JobConfiguration> jobs)
        {
            var container = AutofacContainer.GetContainer();

            ScheduleJobServiceConfiguratorExtensions.SchedulerFactory = () => container.Resolve <IScheduler>();

            HostFactory.Run(conf =>
            {
                conf.UseAutofacContainer(container);

                conf.Service <ServiceCore.ServiceCore>(svc =>
                {
                    svc.ConstructUsingAutofacContainer();
                    svc.WhenStarted(o => o.Start());
                    svc.WhenStopped(o =>
                    {
                        o.Stop();
                        container.Dispose();
                    });
                    ConfigureScheduler(svc, jobs);
                });
            });
        }