示例#1
0
        public void Configuration(IAppBuilder app)
        {
            var container = SimpleInjectorContainerFactory.Create();

            container.RegisterPackages();

            container.RegisterSingleton <IOwinContextProvider>(new CallContextOwinContextProvider());

            #region Mapper

            var config = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile <RepositoryProfile>();
            });

            container.Register <IMapper>(() => config.CreateMapper(container.GetInstance));

            #endregion Mapper

            app.UseOwinContextExecutionScope(container);

            app.UseOwinContextProvider();

            ConfigureOAuthTokenGeneration(app);

            HttpConfiguration httpConfig = new HttpConfiguration();

            WebApiConfig.Register(httpConfig);

            container.RegisterWebApiControllers(httpConfig);

            httpConfig.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);

            //app.CreatePerOwinContext(() => container.GetInstance<UserManager<ApplicationUser, Guid>>());

            app.UseCors(CorsOptions.AllowAll);

            app.UseWebApi(httpConfig);

            container.Verify();
        }