Example #1
0
        public void Configuration(IAppBuilder app)
        {
            var builder = new ContainerBuilder();

            //Config Ioc Container
            AutofacConfig.Config(builder);

            //向Autofac注册用于AspNet Identity.
            builder.RegisterType <ApplicationSignInManager>().AsSelf().InstancePerRequest();
            builder.Register <IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
            builder.Register <IDataProtectionProvider>(c => app.GetDataProtectionProvider()).InstancePerRequest();

            //注册该程序集中的所有Controller。
            builder.RegisterControllers(typeof(MvcApplication).Assembly);

            var container = builder.Build(); //创建容器

            AutofacContainer = container;
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); //覆盖MVC默认的依赖关系解析器。Controller创建器,以便使用提供参数的构造函数来创建。

            app.UseAutofacMiddleware(container);
            app.UseAutofacMvc();



            ConfigureAuth(app);
        }
Example #2
0
 protected void Application_Start()
 {
     Application["OnLineCount"] = 0;
     AutofacConfig.Config();
     AreaRegistration.RegisterAllAreas();
     RouteConfig.RegisterRoutes(RouteTable.Routes);
 }
Example #3
0
 protected void Application_Start()
 {
     AreaRegistration.RegisterAllAreas();
     AutofacConfig.Config();
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
     RouteConfig.RegisterRoutes(RouteTable.Routes);
     BundleConfig.RegisterBundles(BundleTable.Bundles);
 }
 protected void Application_Start()
 {
     AutofacConfig.Config();
     Database.SetInitializer(new SmartContextDbInitializer());
     AreaRegistration.RegisterAllAreas();
     GlobalConfiguration.Configure(WebApiConfig.Register);
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
     RouteConfig.RegisterRoutes(RouteTable.Routes);
     BundleConfig.RegisterBundles(BundleTable.Bundles);
 }
        static void Main(string[] args)
        {
            var autofacConfig = new AutofacConfig();

            autofacConfig.Config();

            var engine = autofacConfig.Container.Resolve <IEngine>();

            engine.Start();
        }
Example #6
0
        protected void Application_Start()
        {
            Log.Info("Application starting...");

            AutofacConfig.Config();

            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleTable.EnableOptimizations = true;
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            Log.Info("Application started.");
        }
Example #7
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddMvcCore().
            AddJsonFormatters().
            AddAuthorization().
            AddFormatterMappings().
            AddApiExplorer().
            SetCompatibilityVersion(CompatibilityVersion.Version_2_2).
            AddControllersAsServices().
            AddJsonOptions(options =>
            {
                options.SerializerSettings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
                options.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
            });

            services.AddSwaggerGen(x =>
            {
                x.SwaggerDoc("v1", new Info
                {
                    Title   = "User WebAPI",
                    Version = "v1"
                });
                x.AddSecurityDefinition(
                    "Bearer",
                    new ApiKeyScheme
                {
                    In          = "header",
                    Description = "Please enter JWT with Bearer into field",
                    Name        = "Authorization",
                    Type        = "apiKey"
                });
                x.AddSecurityRequirement(
                    new Dictionary <string, IEnumerable <string> > {
                    {
                        "Bearer",
                        Enumerable.Empty <string>()
                    },
                });

                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                x.IncludeXmlComments(xmlPath);
            });

            AuthConfig.Config(services, this.Configuration);
            this.ApplicationContainer = AutofacConfig.Config(services, this.Configuration);

            return(ApplicationContainer.Resolve <IServiceProvider>());
        }
Example #8
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            AutofacConfig.Config();


            // Telling WebAPI to use the XmlSerializer and correcting the root element for the List
            GlobalConfiguration.Configuration.Formatters.XmlFormatter
            .SetSerializer <List <OrderModel> >(new XmlSerializer(typeof(List <OrderModel>), new XmlRootAttribute("orders")));
            GlobalConfiguration.Configuration.Formatters.XmlFormatter
            .SetSerializer <OrderModel>(new XmlSerializer(typeof(OrderModel)));
        }
Example #9
0
        public static void Register(HttpConfiguration config)
        {
            // Web API 配置和服务

            // Web API 路由
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            config.Filters.Add(new ParasCheckAttribute());

            AutofacConfig.Config(config, typeof(WebApiApplication).Assembly,
                                 new List <Assembly>
            {
                typeof(IAutofacFramework).Assembly,
                typeof(IAutofacScanDkmsTools).Assembly,
                typeof(IAutofacUmsUser).Assembly,
                typeof(IAutofacCrmCustomer).Assembly
            });

            AutoMapperConfig.Config(config.DependencyResolver.GetService(typeof(IMapperProfileProvider)) as IMapperProfileProvider);

            var accountQueryService = config.DependencyResolver.GetService(typeof(IAccountQueryService)) as IAccountQueryService;

            config.MessageHandlers.Add(new DataKeeperUserMessageHandler
            {
                GetUserIdAction = s =>
                {
                    return(accountQueryService.GetByToken(s)?.Id ?? Guid.Empty);
                }
            });
        }