コード例 #1
0
        protected override void Load(ContainerBuilder builder)
        {
            //获取临时module应用
            var tempAutoApplication = AutofacApplication.PrepareApplication(builder);

            //调用传入委托
            if (null != m_lstUseMiddleware)
            {
                foreach (var oneMiddleware in m_lstUseMiddleware)
                {
                    if (null != oneMiddleware)
                    {
                        oneMiddleware.Prepare(builder);
                    }
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// 单例模式获取器 双重检查锁
        /// </summary>
        /// <returns></returns>
        public static AutofacApplication GetApplication(IServiceCollection services = null)
        {
            if (null == m_singleTag)
            {
                lock (typeof(AutofacApplication))
                {
                    if (null == m_singleTag)
                    {
                        if (null == services)
                        {
                            m_singleTag = new AutofacApplication();
                        }
                        else
                        {
                            m_singleTag = new AutofacApplication(services);
                        }
                    }
                }
            }

            return(m_singleTag);
        }