Пример #1
0
        public static void Register(HttpConfiguration config)
        {
            // Web API 配置和服务

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

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

            config.EnableCors();

            //DI配置
            var initialize = new InitializeContainer();

            initialize.Initializing();
            //TODO:实现自己的Resolver,未实现前暂时使用Auto自带的
            config.DependencyResolver = new AutofacWebApiDependencyResolver(initialize.ContainerManager.Container);

//            var jsonFormatter = new JsonMediaTypeFormatter();
//            var settings = jsonFormatter.SerializerSettings;
//            IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
//            //这里使用自定义日期格式
//            timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
//            settings.Converters.Add(timeConverter);
        }
Пример #2
0
        void Application_Start(object sender, EventArgs e)
        {
            // 在应用程序启动时运行的代码
//            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
//            RouteConfig.RegisterRoutes(RouteTable.Routes);
            GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

            #region IOC配置

            //DI配置
            var initialize = new InitializeContainer();
            initialize.Initializing();
            //WebAPI
            GlobalConfiguration.Configuration.DependencyResolver =
                new AutofacWebApiDependencyResolver(initialize.ContainerManager.Container);

            //MVC
            DependencyResolver.SetResolver(new AutofacDependencyResolver(initialize.ContainerManager.Container));

            #endregion


            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
Пример #3
0
        public static void Register(HttpConfiguration config)
        {
            //允许跨域请求
            config.EnableCors();

            //DI配置
            var initialize = new InitializeContainer();

            initialize.Initializing();
            //TODO:实现自己的Resolver,未实现前暂时使用Auto自带的
            config.DependencyResolver = new AutofacWebApiDependencyResolver(initialize.ContainerManager.Container);


            //filter
            //config.Filters.Add((IFilter)config.DependencyResolver.GetService(typeof(YpAPIHandleErrorAttribute)));
            //config.Filters.Add((IFilter)config.DependencyResolver.GetService(typeof(YpAPIAuthorizeAttribute)));
            #region 路由配置
            // Web API 路由
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );
            #endregion
        }
Пример #4
0
        public static TestServer CreateWith(
            InitializeContainer initializeContainer)
        {
            BasicWebApiLogPolicy.Log        = Console.WriteLine;
            Startup.TestInitializeContainer = initializeContainer;
            var server = TestServer.Create(Startup.TestConfiguration);

            return(server);
        }
        /// <summary>
        /// Adds JWT OAuth server container initializer to the application.
        /// </summary>
        /// <param name="app">The application.</param>
        /// <returns>The modified application.</returns>
        public static IAppBuilder UseJwtOAuthServerContainerInitializer(this IAppBuilder app)
        {
            if (app == null)
            {
                throw new ArgumentNullException(nameof(app));
            }

            InitializeContainer initializeContainer =
                container =>
            {
                container.Register <IOAuthAuthorizationServerProvider, JwtOAuthClientValidatingServerProvider>();
            };

            return(app.UseContainerInitializer(initializeContainer));
        }
Пример #6
0
        private static void Main(string[] args)
        {
            var kernel = new StandardKernel();

            InitializeContainer.Register(kernel);

            var manager = kernel.Get <AnimalManager <AnimalBase> >();

            Console.WriteLine(manager.GetAnimals());

            // Custom animal types in case of user specific definitions
            foreach (var animal in _newAnimals)
            {
                Console.WriteLine(AnimalManager <AnimalBase> .InitializeCustomAnimal(animal.Key, animal.Value));
            }
        }
        /// <summary>
        /// Sets up the application to use the specified container initializer.
        /// </summary>
        /// <param name="app">The application.</param>
        /// <param name="initializeContainer">The container initializer delegate.</param>
        /// <returns>The modified application.</returns>
        public static IAppBuilder UseContainerInitializer(this IAppBuilder app, InitializeContainer initializeContainer)
        {
            if (app == null)
            {
                throw new ArgumentNullException(nameof(app));
            }

            if (initializeContainer == null)
            {
                throw new ArgumentNullException(nameof(initializeContainer));
            }

            var containerInitializers = app.GetContainerInitializers();

            containerInitializers.Add(initializeContainer);

            return(app);
        }
        private static TestServer CreateTestServerWith(InitializeContainer initializeContainer)
        {
            BasicWebApiLogPolicy.Log = Console.WriteLine;
            Start.Initialize();

            var server = TestServer.Create(
                app =>
            {
                Trace.Listeners.Remove("HostingTraceListener");

                app.UseSettingsContainerInitializer()
                .UseJwtOAuthServerContainerInitializer()
                .UseContainerInitializer(initializeContainer)
                .UseJwtOAuthServer();
            });

            return(server);
        }
Пример #9
0
        void Application_Start(object sender, EventArgs e)
        {
            // Code that runs on application startup
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            #region IOC配置

            //DI配置
            var initialize = new InitializeContainer();
            initialize.Initializing();
            //WebAPI
            GlobalConfiguration.Configuration.DependencyResolver =
                new AutofacWebApiDependencyResolver(initialize.ContainerManager.Container);

            //MVC
            DependencyResolver.SetResolver(new AutofacDependencyResolver(initialize.ContainerManager.Container));

            #endregion
        }
Пример #10
0
        protected void Application_Start(object sender, EventArgs e)
        {
            //注册依赖容器
            var initialize = new InitializeContainer();

            initialize.Initializing();

            var resolver = new YpDependencyResolver(initialize);

            DependencyResolver.SetResolver(resolver);

            //注册全局Filter
            //FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

            AreaRegistration.RegisterAllAreas();

            GlobalConfiguration.Configuration.EnableCors();
            GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(initialize.ContainerManager.Container);
            GlobalConfiguration.Configure(WebApiConfig.Register);

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            //BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
 public YpWebApiDependencyResolver(InitializeContainer initializeContainer)
 {
     _containerManager = initializeContainer.ContainerManager;
 }
Пример #12
0
 public IApiShould(CustomWebApplicationFactory <Startup> factory)
 {
     using var scope = InitializeContainer.InitializeTests(factory.CreateClientWithDefaultRequestHeaders()).BeginLifetimeScope();
     this.api        = scope.Resolve <IApi>();
 }
Пример #13
0
 public IUserApiShould(WebApplicationFactory <Startup> factory)
 {
     using var scope = InitializeContainer.InitializeTests(factory.CreateClient()).BeginLifetimeScope();
     this.userApi    = scope.Resolve <IUserApi>();
 }
Пример #14
0
 public IUserServiceShould()
 {
     using var scope  = InitializeContainer.InitializeTests().BeginLifetimeScope();
     this.userService = scope.Resolve <IUserService>();
 }