public void Configuration(IAppBuilder app) { // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888 ICacheProvider provider = new RuntimeMemoryCacheProvider(); CacheManager.SetProvider(provider, CacheLevel.First); IServicesBuilder builder = new ServicesBuilder(); IServiceCollection services = builder.Build(); services.AddLog4NetServices(); services.AddDataServices(); IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services); app.UseTomNetMvc(mvcIocBuilder); IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services); app.UseTomNetWebApi(apiIocBuilder); app.UseTomNetSignalR(new SignalRAutofacIocBuilder(services)); app.ConfigureWebApi(); app.ConfigureSignalR(); IIocBuilder hangfireBuilder = new HangfireAutofacIocBuilder(services); app.UseTomNetHangfile(hangfireBuilder); GlobalConfiguration.Configuration.UseMemoryStorage(); app.UseHangfireDashboard(); app.UseHangfireServer(new BackgroundJobServerOptions() { WorkerCount = 1 }); }
private static void Initialize() { Log4NetLoggerAdapter adapter = new Log4NetLoggerAdapter(); LogManager.AddLoggerAdapter(adapter); ICacheProvider provider = new RuntimeMemoryCacheProvider(); CacheManager.SetProvider(provider, CacheLevel.First); IServicesBuilder builder = new ServicesBuilder(); try { IServiceCollection services = builder.Build(); services.AddLog4NetServices(); services.AddDataServices(); services.AddImplementServices(); services.AddMdSmsServices(); //services.AddJPushServices(); IFrameworkInitializer initializer = new FrameworkInitializer(); initializer.Initialize(new MvcAutofacIocBuilder(services)); initializer.Initialize(new WebApiAutofacIocBuilder(services)); //initializer.Initialize(new SignalRAutofacIocBuilder(services)); } catch (Exception ex) { } }
public void Configuration(IAppBuilder app) { ICacheProvider provider = new RuntimeMemoryCacheProvider(); CacheManager.SetProvider(provider, CacheLevel.First); IServicesBuilder builder = new ServicesBuilder(); IServiceCollection services = builder.Build(); services.AddLog4NetServices(); services.AddDataServices(); services.AddAutoMapperServices(); services.AddOAuthServices(); services.AddDemoServices(app); IIocBuilder IocBuilder = new WebFormAutofacIocBuilder(services); app.UseOsharpWebForm(IocBuilder); //IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services); //app.UseOsharpMvc(mvcIocBuilder); //IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services); //app.UseOsharpWebApi(apiIocBuilder); //app.UseOsharpSignalR(new SignalRAutofacIocBuilder(services)); //app.ConfigureOAuth(apiIocBuilder.ServiceProvider); //app.ConfigureWebApi(); //app.ConfigureSignalR(); }
private static IServiceCollection AddMqttEventBus(this IServiceCollection services, Action <MqttClientOptionsBuilder, IServicesBuilder> cfgStrategy1, Action <MqttClientOptionsBuilder, ILocalServerOptionsBuilder, IServicesBuilder> cfgStrategy2) { var addedServices = new HashSet <ServiceType>(); var mqttHostBuilder = new MqttClientOptionsBuilder(); var serviceBuilder = new ServicesBuilder(services, addedServices); var localServerBuilder = new LocalServerOptionsBuilder(); if (cfgStrategy1 != null) { cfgStrategy1.Invoke(mqttHostBuilder, serviceBuilder); } if (cfgStrategy2 != null) { cfgStrategy2.Invoke(mqttHostBuilder, localServerBuilder, serviceBuilder); } if (!addedServices.Contains(ServiceType.Logger)) { serviceBuilder.AddLogger(cfg => cfg.UseInnerLogger()); } return(services .AddSingleton(mqttHostBuilder.Build()) .AddSingleton(localServerBuilder.Build()) .AddEventBusServices()); }
public void Configuration(IAppBuilder app) { // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888 ICacheProvider provider = new RuntimeMemoryCacheProvider(); CacheManager.SetProvider(provider, CacheLevel.First); IServicesBuilder builder = new ServicesBuilder(); IServiceCollection services = builder.Build(); services.AddLog4NetServices(); services.AddDataServices(); services.AddAutoMapperServices(); services.AddOAuthServices(); services.AddDemoServices(app); IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services); app.UseOsharpMvc(mvcIocBuilder); IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services); app.UseOsharpWebApi(apiIocBuilder); //app.UseOsharpSignalR(new SignalRAutofacIocBuilder(services)); app.ConfigureOAuth(apiIocBuilder.ServiceProvider); app.ConfigureWebApi(); //app.ConfigureSignalR(); }
/// <summary> /// Creates a new instance of <see cref="IMessagingBus"/>. /// </summary> /// <returns> /// The created instance of <see cref="IMessagingBus"/> /// </returns> public IMessagingBus BuildSubscribers() { IMessagingConfig config = CreateConfig(); config.Validate(); ILoggerFactory loggerFactory = ServicesBuilder?.LoggerFactory?.Invoke() ?? ServiceResolver.ResolveService <ILoggerFactory>(); JustSayingBus bus = CreateBus(config, loggerFactory); JustSayingFluently fluent = CreateFluent(bus, loggerFactory); if (ServicesBuilder?.NamingStrategy != null) { fluent.WithNamingStrategy(ServicesBuilder.NamingStrategy); } if (ServicesBuilder?.MessageContextAccessor != null) { fluent.WithMessageContextAccessor(ServicesBuilder.MessageContextAccessor()); } if (SubscriptionBuilder != null) { SubscriptionBuilder.Configure(fluent); } return(bus); }
public void Configuration(IAppBuilder app) { // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888 ICacheProvider provider = new RuntimeMemoryCacheProvider(); CacheManager.SetProvider(provider, CacheLevel.First); IServicesBuilder builder = new ServicesBuilder(); IServiceCollection services = builder.Build(); services.AddLog4NetServices(); services.AddDataServices(); services.AddAutoMapperServices(); services.AddOAuthServices(); services.AddSolutionServices(app); //services.AddCommunicationService(); IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services); app.UseOsharpMvc(mvcIocBuilder); IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services); app.UseOsharpWebApi(apiIocBuilder); //app.UseOsharpSignalR(new SignalRAutofacIocBuilder(services)); app.ConfigureOAuth(apiIocBuilder.ServiceProvider); app.ConfigureWebApi(); //app.ConfigureSignalR(); //IIocBuilder hangfireBuilder = new HangfireAutofacIocBuilder(services); //app.UseOSharpHangfile(hangfireBuilder); //GlobalConfiguration.Configuration.UseMemoryStorage(); //app.UseHangfireDashboard(); //app.UseHangfireServer(new BackgroundJobServerOptions() { WorkerCount = 1 }); //HangfireJobsRunner.Start(); //启动Communication服务 IServiceProvider serviceProvider = apiIocBuilder.Build(); ICommunicationContract communicationContracts = serviceProvider.GetService <ICommunicationContract>(); if (communicationContracts != null) { communicationContracts.Initialize(); } //启动AgvControlContract服务 //Solution.Agv.ControlService.IAgvControlContract agvControlContract = serviceProvider.GetService<Solution.Agv.ControlService.IAgvControlContract>(); //if (agvControlContract != null) //{ // agvControlContract.Initialize(); //} //启动DispatchingControlContract服务 Solution.DispatchingControlCenterService.IDispatchingControlContract dispatchingControlContract = serviceProvider.GetService <Solution.DispatchingControlCenterService.IDispatchingControlContract>(); if (dispatchingControlContract != null) { dispatchingControlContract.Initialize(); } }
public MessagingBusBuilder() { ServicesBuilder = new ServicesBuilder(this); ServiceBuilderServiceResolver = new ServiceBuilderServiceResolver(ServicesBuilder); ServiceResolver = new CompoundServiceResolver(ServiceBuilderServiceResolver, new DefaultServiceResolver()); SubscriptionBuilder = new SubscriptionsBuilder(this); MessagingConfig = new MessagingConfigurationBuilder(this); }
public void Setup() { var service = new ServicesBuilder(); _untity = service.GetService <IUntityFunction>(); _db = service.GetService <WorkToolEntity>(); _work = service.GetService <IWork>(); _sqlClient = service.GetService <ISqlClient>(); }
static void Main(string[] args) { IServicesBuilder builder = new ServicesBuilder(); IServiceCollection services = builder.Build(); services.AddDataServices(); IFrameworkInitializer initializer = new FrameworkInitializer(); initializer.Initialize(new MvcAutofacIocBuilder(services)); }
public void Null_Binding_Should_Throw() { using (var provider = ServicesBuilder.BuildDefault().BuildServiceProvider(validateScopes: true)) { var controller = provider.GetRequiredService <Controller>(); Should.Throw <InvalidOperationException>(() => controller.Factory.CCC(null !)); Should.Throw <InvalidOperationException>(() => controller.Generic.CCC(null !)); } }
public void Configuration(IAppBuilder app) { //获取服务列表 IServicesBuilder builder = new ServicesBuilder(); IServiceCollection services = builder.Build(); IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services); app.UseSixComMvc(mvcIocBuilder); }
/// <summary> /// Build the configuration and populate the service collection based on the input environment. /// </summary> private (IConfigurationRoot Configuration, ServicesBuilder ServicesBuilder) Init() { var configurationOptions = this.GetOrAdd(() => new ConfigurationOptions()); var configurationBuilder = new ConfigurationBuilder() .SetFileProvider(_environment.ContentRootFileProvider) .Apply(configurationOptions.ApplicationConfiguration) .Apply(configurationOptions.EnvironmentConfiguration, _environment.EnvironmentName) .Apply(configurationOptions.EnvironmentConfiguration, "local"); #pragma warning disable CA2000 var cb = new Extensions.Configuration.ConfigurationBuilder( Scanner, _environment, new ConfigurationRoot(new List <IConfigurationProvider>()), configurationBuilder, _logger, ServiceProperties ); #pragma warning restore CA2000 var configuration = configurationBuilder .AddConfiguration(cb.Build()) .Build(); var serviceCollection = new ServiceCollection(); var servicesBuilder = new ServicesBuilder( Scanner, AssemblyProvider, AssemblyCandidateFinder, serviceCollection, configuration, _environment, _logger, ServiceProperties ); servicesBuilder.Services.AddLogging( builder => { builder.ClearProviders(); builder.Services.AddSingleton(_loggerFactory); } ); Composer.Register( servicesBuilder.Scanner, servicesBuilder, typeof(IServiceConvention), typeof(ServiceConventionDelegate) ); return(configuration, servicesBuilder); }
public void Unknown_Binding_Should_Throw() { using (var provider = ServicesBuilder.BuildDefault().BuildServiceProvider(validateScopes: true)) { var controller = provider.GetRequiredService <Controller>(); Should.Throw <InvalidOperationException>(() => controller.Factory.CCC("Zorro")); Should.Throw <InvalidOperationException>(() => controller.Generic.CCC("Zorro")); Should.Throw <InvalidOperationException>(() => controller.Factory.DDD(ManagerType.Angry)); Should.Throw <InvalidOperationException>(() => controller.Generic.DDD(ManagerType.Angry)); } }
public void Scoped_Func_Call_Without_ScopeProvider_Should_Throw() { Should.Throw <InvalidOperationException>(() => { using (var provider = ServicesBuilder.BuildDefault(addScopeProvider: false).BuildServiceProvider(validateScopes: true)) { using (var scope = provider.CreateScope()) { var controller = scope.ServiceProvider.GetService <Controller>() !; var service = controller.ScopedFunc(); } } }); }
private void SetupServices(IConfiguration existingConfiguration) { var builder = new ServicesBuilder( Scanner, AssemblyProvider, AssemblyCandidateFinder, Builder.Services, existingConfiguration, _environment, _logger, Properties); Composer.Register <IServiceConventionContext, IServiceConvention, ServiceConventionDelegate>(Scanner, builder); }
public void Configuration(IAppBuilder app) { // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888 ICacheProvider provider = new RuntimeMemoryCacheProvider(); CacheManager.SetProvider(provider, CacheLevel.First); IServicesBuilder builder = new ServicesBuilder(new ServiceBuildOptions()); IServiceCollection services = builder.Build(); services.AddLog4NetServices(); services.AddDataServices(); app.UseOSkyMvc(services, new MvcAutofacIocBuilder()); app.UseOSkyWebApi(services, new WebApiAutofacIocBuilder()); app.UseOSkySignalR(services, new SignalRAutofacIocBuilder()); ConfigurationWebApi(app); ConfigureSignalR(app); // 使应用程序可以使用 Cookie 来存储已登录用户的信息 app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, LoginPath = new PathString("/Admin/Login/Index"), ExpireTimeSpan = TimeSpan.FromMinutes(20), //20分钟过期 SlidingExpiration = true }); //// Use a cookie to temporarily store information about a user logging in with a third party login provider //app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); //// 取消注释以下行可允许使用第三方登录提供程序登录 //app.UseMicrosoftAccountAuthentication( // clientId: "", // clientSecret: ""); //app.UseTwitterAuthentication( // consumerKey: "", // consumerSecret: ""); //app.UseFacebookAuthentication( // appId: "", // appSecret: ""); // 支持使用 google 账户登录 //app.UseGoogleAuthentication(); }
private JustSayingBus CreateBus(IMessagingConfig config, ILoggerFactory loggerFactory) { IMessageSerializationRegister register = ServicesBuilder?.SerializationRegister?.Invoke() ?? ServiceResolver.ResolveService <IMessageSerializationRegister>(); var bus = new JustSayingBus(config, register, loggerFactory); bus.Monitor = CreateMessageMonitor(); bus.MessageContextAccessor = CreateMessageContextAccessor(); if (ServicesBuilder?.MessageLock != null) { bus.MessageLock = ServicesBuilder.MessageLock(); } return(bus); }
/// <summary> /// Configures the services. /// </summary> /// <param name="configure">A delegate to a method to use to configure JustSaying services.</param> /// <returns> /// The current <see cref="MessagingBusBuilder"/>. /// </returns> /// <exception cref="ArgumentNullException"> /// <paramref name="configure"/> is <see langword="null"/>. /// </exception> public MessagingBusBuilder Services(Action <ServicesBuilder> configure) { if (configure == null) { throw new ArgumentNullException(nameof(configure)); } if (ServicesBuilder == null) { ServicesBuilder = new ServicesBuilder(this); } configure(ServicesBuilder); return(this); }
private static void Initialize() { ICacheProvider provider = new RuntimeMemoryCacheProvider(); CacheManager.SetProvider(provider, CacheLevel.First); IServicesBuilder builder = new ServicesBuilder(); IServiceCollection services = builder.Build(); services.AddLog4NetServices(); services.AddDataServices(); IFrameworkInitializer initializer = new FrameworkInitializer(); initializer.Initialize(new MvcAutofacIocBuilder(services)); initializer.Initialize(new WebApiAutofacIocBuilder(services)); //initializer.Initialize(new SignalRAutofacIocBuilder(services)); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); IServicesBuilder builder = new ServicesBuilder(); IServiceCollection services = builder.Build(); services.AddDataServices();//注册数据上下文 IIocBuilder iocBuilder = new MvcAutofacIocBuilder(services); IFrameworkInitializer initializer = new FrameworkInitializer(); initializer.Initialize(iocBuilder); }
public void Configuration(IAppBuilder app) { // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888 ICacheProvider provider = new RuntimeMemoryCacheProvider(); CacheManager.SetProvider(provider, CacheLevel.First); IServicesBuilder builder = new ServicesBuilder(); IServiceCollection services = builder.Build(); services.AddLog4NetServices(); services.AddDataServices(); services.AddAutoMapperServices(); services.AddOAuthServices(); //加载TG.UBP的接口服务,主要包括基础设施层、领域层和应用层 services.AddUBPUtilityServices(app); services.AddUBPCoreServices(app); //services.AddUBPApplicationServices(app); IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services); app.UseOsharpMvc(mvcIocBuilder); IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services); app.UseOsharpWebApi(apiIocBuilder); //app.UseOsharpSignalR(new SignalRAutofacIocBuilder(services)); app.ConfigureOAuth(apiIocBuilder.ServiceProvider); app.ConfigureWebApi(); //app.ConfigureSignalR(); IIocBuilder hangfireBuilder = new HangfireAutofacIocBuilder(services); app.UseOSharpHangfile(hangfireBuilder); GlobalConfiguration.Configuration.UseMemoryStorage(); app.UseHangfireDashboard(); app.UseHangfireServer(new BackgroundJobServerOptions() { WorkerCount = 1 }); HangfireJobsRunner.Start(); }
public void Configuration(IAppBuilder app) { // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888 ICacheProvider provider = new RuntimeMemoryCacheProvider(); CacheManager.SetProvider(provider, CacheLevel.First); IServicesBuilder builder = new ServicesBuilder(new ServiceBuildOptions()); IServiceCollection services = builder.Build(); services.AddLog4NetServices(); services.AddDataServices(); app.UseMvcInitialize(services, new MvcAutofacIocBuilder()); app.UseWebApiInitialize(services, new WebApiAutofacIocBuilder()); ConfigurationWebApi(app); ConfigureSignalR(app); }
private JustSayingFluently CreateFluent(JustSayingBus bus, ILoggerFactory loggerFactory) { IAwsClientFactoryProxy proxy = CreateFactoryProxy(); IVerifyAmazonQueues queueCreator = new AmazonQueueCreator(proxy, loggerFactory); var fluent = new JustSayingFluently(bus, queueCreator, proxy, loggerFactory); IMessageMonitor messageMonitor = CreateMessageMonitor(); IMessageContextAccessor messageContextAccessor = CreateMessageContextAccessor(); fluent.WithMonitoring(messageMonitor) .WithMessageContextAccessor(messageContextAccessor); if (ServicesBuilder?.MessageLock != null) { fluent.WithMessageLockStoreOf(ServicesBuilder.MessageLock()); } return(fluent); }
public void Generic_Factory_And_Named_Bindings_Should_Work() { using (var provider = ServicesBuilder.BuildDefault().BuildServiceProvider(validateScopes: true)) { using (var scope = provider.CreateScope()) { GenericScope <ServicesBuilder> .CurrentScope = scope; var controller = scope.ServiceProvider.GetRequiredService <Controller>(); var builder1 = controller.Generic.AAA(); builder1.ShouldBeAssignableTo <Builder>(); builder1.Build(); var notifier = controller.Generic.BBB(); notifier.ShouldBeAssignableTo <Notifier>(); notifier.Notify(); var builder2 = controller.Generic.CCC("xxx"); builder2.ShouldBeAssignableTo <SpecialBuilder>(); builder2.Build(); var builder3 = controller.Generic.CCC("yyy"); builder3.ShouldBeAssignableTo <SpecialBuilder>(); builder3.Build(); var builder4 = controller.Generic.CCC("oops"); builder4.ShouldBeAssignableTo <SpecialBuilderOver9000Level>(); builder4.Build(); var builder5 = controller.Generic.DDD(ManagerType.Good); builder5.ShouldBeAssignableTo <SpecialBuilder>(); builder5.Build(); var builder6 = controller.Generic.DDD(ManagerType.Bad); builder6.ShouldBeAssignableTo <SpecialBuilderOver9000Level>(); builder6.Build(); } } }
protected override void Given() { _queue = CreateSuccessfulTestQueue(Guid.NewGuid().ToString(), new TestMessage()); Queues.Add(_queue); _messageLock = new FakeMessageLock(); var servicesBuilder = new ServicesBuilder(new MessagingBusBuilder()); var serviceResolver = new FakeServiceResolver(sc => sc.AddSingleton <IMessageLockAsync>(_messageLock) .AddSingleton <IHandlerAsync <SimpleMessage> >(Handler) .AddLogging(x => x.AddXUnit(OutputHelper))); var middlewareBuilder = new HandlerMiddlewareBuilder(serviceResolver, serviceResolver); var middleware = middlewareBuilder.Configure(pipe => { pipe.UseExactlyOnce <SimpleMessage>("a-unique-lock-key"); pipe.UseHandler <SimpleMessage>(); }).Build(); Middleware = middleware; }
/// <summary> /// Creates a new instance of <see cref="IMessagingBus"/>. /// </summary> /// <returns> /// The created instance of <see cref="IMessagingBus"/> /// </returns> public IMessagingBus BuildSubscribers() { IMessagingConfig config = CreateConfig(); config.Validate(); ILoggerFactory loggerFactory = ServicesBuilder?.LoggerFactory?.Invoke() ?? ServiceResolver.ResolveService <ILoggerFactory>(); JustSayingBus bus = CreateBus(config, loggerFactory); IVerifyAmazonQueues creator = CreateQueueCreator(loggerFactory); if (ServicesBuilder?.MessageContextAccessor != null) { bus.MessageContextAccessor = ServicesBuilder.MessageContextAccessor(); } if (SubscriptionBuilder != null) { SubscriptionBuilder.Configure(bus, ServiceResolver, creator, loggerFactory); } return(bus); }
private static void Main(string[] args) { try { Console.WriteLine("正在初始化,请稍候……"); Stopwatch watch = Stopwatch.StartNew(); IServicesBuilder builder = new ServicesBuilder(new ServiceBuildOptions()); IServiceCollection services = builder.Build(); services.AddLog4NetServices(); services.AddDataServices(); services.AddAutoMapperServices(); IIocBuilder iocBuilder = new LocalAutofacIocBuilder(services); IFrameworkInitializer initializer = new FrameworkInitializer(); initializer.Initialize(iocBuilder); _program = iocBuilder.ServiceProvider.GetService <Program>(); watch.Stop(); Console.WriteLine("程序初始化完毕并启动成功,耗时:{0}", watch.Elapsed); } catch (ReflectionTypeLoadException e) { Console.WriteLine(e); Console.WriteLine("LoaderExceptions:"); Exception[] exs = e.LoaderExceptions; foreach (Exception ex in exs) { Console.WriteLine(ex); } return; } catch (Exception e) { Console.WriteLine(e); Console.ReadLine(); return; } bool exit = false; while (true) { try { Console.WriteLine(@"请输入命令:0; 退出程序,功能命令:1 - n"); string input = Console.ReadLine(); if (input == null) { continue; } switch (input.ToLower()) { case "0": exit = true; break; case "1": Method01(); break; case "2": Method02(); break; case "3": Method03(); break; case "4": Method04(); break; case "5": Method05(); break; case "6": Method06(); break; case "7": Method07(); break; case "8": Method08(); break; case "9": Method09(); break; case "10": Method10(); break; case "11": Method11(); break; case "12": Method12(); break; case "13": Method13(); break; case "14": Method14(); break; case "15": Method15(); break; case "16": Method16(); break; case "17": Method17(); break; case "18": Method18(); break; } if (exit) { break; } } catch (Exception e) { Console.WriteLine(e.FormatMessage()); } } }
/// <summary> /// 启动初始化配置 /// </summary> /// <param name="app"></param> public void Configuration(IAppBuilder app) { app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); app.UseCookieAuthentication(new CookieAuthenticationOptions()); // 有关如何配置应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=316888 ICacheProvider provider = new RuntimeMemoryCacheProvider(); CacheManager.SetProvider(provider, CacheLevel.First); IServicesBuilder builder = new ServicesBuilder(); IServiceCollection services = builder.Build(); services.AddLog4NetServices(); services.AddDataServices(); services.AddAutoMapperServices(); IIocBuilder mvcIocBuilder = new MvcAutofacIocBuilder(services); app.UseShineMvc(mvcIocBuilder); IIocBuilder apiIocBuilder = new WebApiAutofacIocBuilder(services); app.UseShineWebApi(apiIocBuilder); app.ConfigureWebApi(); //手动创建映射 Mapper.CreateMap <UserPageOutDto, UserPageIn>(); Mapper.CreateMap <UserPageIn, UserLogin>(); Mapper.CreateMap <UserPageView, UserPageOutDto>(); Mapper.CreateMap <Organize, OrganizePageOutDto>(); Mapper.CreateMap <OrganizeIn, Organize>(); Mapper.CreateMap <Host, HostPageOutDto>() .ForMember(m => m.DataItemDetailName, opt => { opt.MapFrom(m => m.DataItemDetailOne.FullName); }) .ForMember(m => m.OrganizeName, opt => { opt.MapFrom(m => m.OrganizeOne.FullName); }) .ForMember(m => m.OrganId, opt => { opt.MapFrom(m => m.OrganizeOne.Id); }) .ForMember(m => m.DataItemDetailIndex, opt => { opt.MapFrom(m => m.DataItemDetailOne.Index); }); Mapper.CreateMap <HostLogin, HostLoginPageOutDto>() .ForMember(m => m.HostRegPacket, opt => { opt.MapFrom(m => m.HostOne.RegPackage); }) .ForMember(m => m.HostName, opt => { opt.MapFrom(m => m.HostOne.FullName); }); Mapper.CreateMap <HostParameter, HostParameterPageOutDto>() .ForMember(m => m.HostRegPacket, opt => { opt.MapFrom(m => m.HostOne.RegPackage); }) .ForMember(m => m.HostName, opt => { opt.MapFrom(m => m.HostOne.FullName); }); Mapper.CreateMap <HostPolicy, HostPolicyPageOutDto>() .ForMember(m => m.HostRegPacket, opt => { opt.MapFrom(m => m.HostOne.RegPackage); }) .ForMember(m => m.HostName, opt => { opt.MapFrom(m => m.HostOne.FullName); }); Mapper.CreateMap <HostPolicyLogView, HostPolicyLogOutDto>(); Mapper.CreateMap <DataItem, DataItemPageOutDto>(); Mapper.CreateMap <BlackListView, BlackListPageOutDto>(); Mapper.CreateMap <LightPoleView, LightPolePageOutDto>(); Mapper.CreateMap <SubControlView, SubControlPageOutDto>(); Mapper.CreateMap <LightPlanView, LightPlanPageOutDto>(); Mapper.CreateMap <GroupView, GroupPageOutDto>(); Mapper.CreateMap <HostReadTimeDataView, HTDPageOutDto>(); Mapper.CreateMap <SubReadTimeDataView, SRTDPageOutDto>(); Mapper.CreateMap <SubControl, SubControlView>(); Mapper.CreateMap <Information, InformationOutDto>() .ForMember(m => m.TypeName, opt => { opt.MapFrom(m => m.DataItemDetailOne.FullName); }) .ForMember(m => m.TypeIndex, opt => { opt.MapFrom(m => m.DataItemDetailOne.Index); }); Mapper.CreateMap <InformationView, InformationPageOut>(); Mapper.CreateMap <SubRealTimeData_0x16_In, SubRealTimeData>(); Mapper.CreateMap <GroupControl_0x18_In, GroupControl>() .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); }); Mapper.CreateMap <LightPlan_0x54_In, LightPlan>() .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); }); Mapper.CreateMap <LightPlan_0x59_In, LightPlan>() .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); }); Mapper.CreateMap <HostParameter_0x25_In, HostParameter>() .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); }); Mapper.CreateMap <HostLogin_0x44_In, HostLogin>() .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); }); Mapper.CreateMap <HostPolicy_0x5B_In, HostPolicy>() .ForSourceMember(m => m.RegPackage, opt => { opt.Ignore(); }); Mapper.CreateMap <UpgradeLog, UpgradeLogOutDto>() .ForMember(m => m.OrganizeName, opt => { opt.MapFrom(m => m.OrganizeOne.FullName); }); }
public void Named_Binding_With_Invalid_Properties_Should_Throw() { Should.Throw <ArgumentNullException>(() => ServicesBuilder.BuildDefault().For <IBuilder>().Named <SpecialBuilder>(null !).Services.BuildServiceProvider(validateScopes: true)); Should.Throw <InvalidOperationException>(() => ServicesBuilder.BuildDefault().For <IBuilder>().Named <SpecialBuilderOver9000Level>("oops", ServiceLifetime.Transient).Services.BuildServiceProvider(validateScopes: true)); }