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); }
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); }
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 }
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)); }
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); }
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 }
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; }
public IApiShould(CustomWebApplicationFactory <Startup> factory) { using var scope = InitializeContainer.InitializeTests(factory.CreateClientWithDefaultRequestHeaders()).BeginLifetimeScope(); this.api = scope.Resolve <IApi>(); }
public IUserApiShould(WebApplicationFactory <Startup> factory) { using var scope = InitializeContainer.InitializeTests(factory.CreateClient()).BeginLifetimeScope(); this.userApi = scope.Resolve <IUserApi>(); }
public IUserServiceShould() { using var scope = InitializeContainer.InitializeTests().BeginLifetimeScope(); this.userService = scope.Resolve <IUserService>(); }