/// <summary> /// 客户端 /// </summary> /// <param name="startup"></param> /// <param name="listenPoint"></param> /// <param name="configFileClient"></param> /// <returns></returns> public static ApplicationStartup UseConfigClient(this ApplicationStartup startup, EndPoint listenPoint, out ConfigFileClient configFileClient) { var client = new ConfigFileClient(listenPoint); configFileClient = client; return(startup); }
public async Task BeforeEachTest() { const string connectionStringEnvironmentVariable = "ASPNETCORE_SampleProject_IntegrationTests_ConnectionString"; ConnectionString = Environment.GetEnvironmentVariable(connectionStringEnvironmentVariable); if (ConnectionString == null) { throw new ApplicationException( $"Define connection string to integration tests database using environment variable: {connectionStringEnvironmentVariable}"); } await using var sqlConnection = new SqlConnection(ConnectionString); await ClearDatabase(sqlConnection); EmailsSettings = new EmailsSettings { FromAddressEmail = "*****@*****.**" }; EmailSender = Substitute.For <IEmailSender>(); ApplicationStartup.Initialize( new ServiceCollection(), ConnectionString, new CacheStore(), EmailSender, EmailsSettings, runQuartz: false); }
/// <summary> /// 服务端 /// </summary> /// <param name="startup"></param> /// <param name="shareFiles"></param> /// <param name="shareFileEventHandler"></param> /// <param name="fileChangeTimer">fileChangeTimer</param> /// <param name="appFiles"></param> /// <param name="keyValueFinder"></param> /// <param name="listenPoint"></param> /// <param name="configFileServer"></param> /// <param name="configurationWatcher"></param> /// <returns></returns> public static ApplicationStartup UseJsonConfigServer(this ApplicationStartup startup, IEnumerable <ConfigFileInfo> shareFiles, EventHandler <ShareFileEventArgs> shareFileEventHandler, IEnumerable <ConfigFileInfo> appFiles, ICustomKeyValueFinder keyValueFinder, EndPoint listenPoint, TimeSpan fileChangeTimer, out ConfigFileServer configFileServer, out ConfigurationWatcher configurationWatcher) { var shareBuilders = shareFiles == null ? new List <ShareConfigurationBuilder>() : shareFiles.Select(ta => new Never.Configuration.ConfigCenter.ShareConfigurationBuilder(ta)).ToList(); shareBuilders.UseForEach(builder => { if (shareFileEventHandler != null) { builder.OnBuilding += shareFileEventHandler; } builder.Build(); }); var jsonBuilders = appFiles == null ? new List <JsonConfigurationBuilder>() : appFiles.Select(ta => new Never.Configuration.ConfigCenter.JsonConfigurationBuilder(shareBuilders, ta, keyValueFinder)).ToList(); jsonBuilders.UseForEach(builder => { builder.Build(); }); configurationWatcher = new Never.Configuration.ConfigCenter.ConfigurationWatcher(shareBuilders, jsonBuilders, keyValueFinder, fileChangeTimer) { ShareFileEventHandler = shareFileEventHandler, }; var server = new Never.Configuration.ConfigCenter.Remoting.ConfigFileServer(listenPoint, configurationWatcher); configFileServer = server; return(startup); }
/// <summary> /// 启动工作流 /// </summary> /// <param name="startup"></param> /// <param name="executingRepository"></param> /// <param name="jsonSerializer"></param> /// <param name="templateRepository"></param> /// <param name="serialTaskStrategy"></param> /// <param name="taskschedStrategy"></param> /// <param name="environmentInit"></param> /// <returns></returns> public static ApplicationStartup UseWorlFlow(this ApplicationStartup startup, ITemplateRepository templateRepository, IExecutingRepository executingRepository, IJsonSerializer jsonSerializer, ITaskschedStrategy taskschedStrategy, ISerialTaskStrategy serialTaskStrategy, Action <IWorkFlowEngine> environmentInit) { if (startup.Items.ContainsKey("UseWorlFlow")) { return(startup); } startup.ServiceRegister.RegisterInstance <ITemplateRepository>(templateRepository); startup.ServiceRegister.RegisterInstance <IExecutingRepository>(executingRepository); var engine = new WorkFlowEngine(templateRepository, executingRepository, jsonSerializer, taskschedStrategy ?? new DefaultTaskschedStrategy(), serialTaskStrategy ?? new DefaultSerialTaskStrategy()) { ApplicationStartup = startup, }; startup.ServiceRegister.RegisterInstance <IWorkFlowEngine>(engine); startup.RegisterStartService(new StartupService(environmentInit, engine)); startup.Items["UseWorlFlow"] = "true"; return(startup); }
// This method gets called by the runtime. Use this method to add services to the container. public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddHttpContextAccessor(); services.AddDbContext <LocationContext>(options => { var conn = Configuration.GetConnectionString("DefaultConnection"); options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection"), npSqlOptions => { npSqlOptions.CommandTimeout(3300); }); }); services.AddSwaggerDocumentation(); services.AddProblemDetails(x => { // x.Map<InvalidCommandException>(ex => new InvalidCommandProblemDetails(ex)); x.Map <BusinessRuleValidationException>(ex => new BusinessRuleValidationExceptionProblemDetails(ex)); }); services.AddHttpContextAccessor(); var serviceProvider = services.BuildServiceProvider(); IExecutionContextAccessor executionContextAccessor = new ExecutionContextAccessor(serviceProvider.GetService <IHttpContextAccessor>()); services.AddAutoMapper(cfg => { cfg.AddMaps(AppDomain.CurrentDomain.GetAssemblies()); }, AppDomain.CurrentDomain.GetAssemblies()); return(ApplicationStartup.Initialize(services, executionContextAccessor)); }
private IServiceProvider InitializeAutofac(IServiceCollection services) { var serviceProvider = services.BuildServiceProvider(); IExecutionContextAccessor executionContextAccessor = new ExecutionContextAccessor(serviceProvider.GetService <IHttpContextAccessor>()); var children = this._configuration.GetSection("Caching").GetChildren(); var cachingConfiguration = children.ToDictionary(child => child.Key, child => TimeSpan.Parse(child.Value)); var emailsSettings = _configuration.GetSection("EmailsSettings").Get <EmailsSettings>(); var azureBlobStorageSettings = _configuration.GetSection("AzureBlobStorageSettings").Get <AzureBlobStorageSettings>(); var memoryCache = serviceProvider.GetService <IMemoryCache>(); return(ApplicationStartup.Initialize( services, this._configuration[TreesConnectionString], new MemoryCacheStore(memoryCache, cachingConfiguration), null, null, emailsSettings, azureBlobStorageSettings, _logger, executionContextAccessor, null)); }
public static void Start() { ApplicationStartup.Initialize(); var container = IoC.Container; using (container.OptimizeDependencyResolution()) { var register = new SerializerRegister(); container.Register <IPresentationUserSettings, IUserSettings, ICoreUserSettings, BatchUserSettings>(LifeStyle.Transient); container.AddRegister(x => { x.FromType <CoreRegister>(); x.FromType <OSPSuite.Core.CoreRegister>(); x.FromType <BatchRegister>(); x.FromType <InfrastructureRegister>(); x.FromType <SBMLImportRegister>(); x.FromInstance(new PresentationRegister(false)); x.FromInstance(register); }); register.PerformMappingForSerializerIn(container); container.Register <IJournalDiagramManagerFactory, BatchJournalDiagramManagerFactory>(); container.Register <IDiagramModelToXmlMapper, BatchDiagramModelToXmlMapper>(LifeStyle.Singleton); container.Register <IDiagramModel, BatchDiagramModel>(LifeStyle.Singleton); } setupDimensions(container); setupCalculationMethods(container); }
public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddMemoryCache(); services.AddSwaggerDocumentation(); services.AddHttpContextAccessor(); var serviceProvider = services.BuildServiceProvider(); IExecutionContextAccessor executionContextAccessor = new ExecutionContextAccessor(serviceProvider.GetService <IHttpContextAccessor>()); var children = this._configuration.GetSection("Caching").GetChildren(); var cachingConfiguration = children.ToDictionary(child => child.Key, child => TimeSpan.Parse(child.Value)); var emailsSettings = ""; var memoryCache = serviceProvider.GetService <IMemoryCache>(); return(ApplicationStartup.Initialize( services, this._configuration[OrdersConnectionString], new MemoryCacheStore(memoryCache, cachingConfiguration), _logger, executionContextAccessor)); }
public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddControllers() .AddNewtonsoftJson(options => { options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); }); services.CorsConfigure(); services.ConfigureProblemDetails(_env.IsProduction()); services.AddSwaggerDocumentation(); services.AddHttpContextAccessor(); services.AuthenticationConfigure(_configuration.GetSection("AppSettings").GetSection("JWT").GetValue <string>("SecretKey")); var serviceProvider = services.BuildServiceProvider(); IExecutionContextAccessor executionContextAccessor = new ExecutionContextAccessor(serviceProvider.GetService <IHttpContextAccessor>()); return(ApplicationStartup.Initialize( services, _configuration.GetValue <string>("ConnectionString"), _configuration.GetSection("AppSettings").GetSection("JWT").GetValue <string>("SecretKey"), _configuration.GetSection("AppSettings").GetSection("JWT").GetValue <int>("ExpireMinutes"), executionContextAccessor, _logger )); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddMemoryCache(); services.AddSwaggerDocumentation(); //services.AddMediatR(typeof(RegisterCustomerCommandHandler).GetTypeInfo().Assembly); services .AddDbContext <OrdersContext>(options => { options .ReplaceService <IValueConverterSelector, StronglyTypedIdValueConverterSelector>() .UseSqlServer(this._configuration[OrdersConnectionString]); }); services.AddProblemDetails(x => { x.Map <InvalidCommandException>(ex => new InvalidCommandProblemDetails(ex)); x.Map <BusinessRuleValidationException>(ex => new BusinessRuleValidationExceptionProblemDetails(ex)); }); var children = this._configuration.GetSection("Caching").GetChildren(); var cachingConfiguration = children.ToDictionary(child => child.Key, child => TimeSpan.Parse(child.Value)); ApplicationStartup.Initialize( services, this._configuration[OrdersConnectionString], cachingConfiguration); }
public static void RegisterCallBack <T>(ServiceDescriptor serviceDescriptor, ApplicationStartup startup) { ((Never.IoC.Injections.ServiceRegister)startup.ServiceRegister).RegisterCallBack <T>(string.Empty, Convert(serviceDescriptor.Lifetime), (x) => { return((T)serviceDescriptor.ImplementationFactory.Invoke(new ApiServiceProvider(x))); }); }
private static void setupCalculationMethods(IContainer container) { var configuration = IoC.Resolve <IMoBiConfiguration>(); configuration.CalculationMethodRepositoryFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, AppConstants.SpecialFileNames.CALCULATION_METHOD_REPOSITORY_FILE_NAME); ApplicationStartup.InitCalculationMethodRepository(container); }
public IServiceProvider ConfigureServices(IServiceCollection services) { services .AddControllers(c => { c.Conventions.Add(new ApiExplorerGroupPerVersionConvention()); }) .AddNewtonsoftJson(opt => { opt.SerializerSettings.ContractResolver = new JsonApiContractResolver { NamingStrategy = new CamelCaseNamingStrategy() }; opt.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; }); services .AddVersioningSystem() .AddSwaggerDocumentation() .AddProblemDetailsMiddleware() .AddHealthChecks(); services.AddCors(options => { options.AddPolicy("EnableCORS", builder => { builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().Build(); }); }); services.Configure <ProjectConfig>(Configuration.GetSection("ProjectConfig")); return(ApplicationStartup.Initialize( services, Configuration)); }
public IServiceProvider ConfigureServices(IServiceCollection services) { services .AddControllers() .AddNewtonsoftJson(opt => { opt.SerializerSettings.ContractResolver = new JsonApiContractResolver { NamingStrategy = new CamelCaseNamingStrategy() }; opt.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; }); services .AddVersioningSystem() .AddSwaggerDocumentation() .AddProblemDetailsMiddleware() .AddHealthChecks(); services.Configure <InterestRateApiQueryConfig>(Configuration.GetSection("InterestRateApiQueryConfig")); services.Configure <ProjectConfig>(Configuration.GetSection("ProjectConfig")); services.AddScoped <IInterestRateQueryApi, InterestRateQueryApi>(); return(ApplicationStartup.Initialize( services, Configuration)); }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); var bootstrapper = new ApplicationStartup(); bootstrapper.Run(); }
public ApplicationStartup Populate(ApplicationStartup startup) { startup.ServiceRegister.RegisterType <ApiServiceProvider, IServiceProvider>(string.Empty, Never.IoC.ComponentLifeStyle.Scoped); startup.ServiceRegister.RegisterType <ApiServiceScopeFactory, IServiceScopeFactory>(string.Empty, Never.IoC.ComponentLifeStyle.Singleton); foreach (var i in this.serviceCollection) { if (i.ImplementationInstance != null) { startup.ServiceRegister.RegisterInstance(i.ImplementationInstance, i.ServiceType, string.Empty); continue; } else if (i.ImplementationFactory != null && startup.ServiceRegister is Never.IoC.Injections.ServiceRegister) { var @delegate = (Action <ServiceDescriptor, ApplicationStartup>)Delegate.CreateDelegate(typeof(Action <ServiceDescriptor, ApplicationStartup>), typeof(ApiServiceCollection).GetMethod("RegisterCallBack").MakeGenericMethod(new[] { i.ServiceType })); @delegate.Invoke(i, startup); } else { if (i.ImplementationType == null || i.ImplementationType.IsInterface) { } else { startup.ServiceRegister.RegisterType(i.ImplementationType, i.ServiceType, string.Empty, Convert(i.Lifetime)); } }; } return(startup); }
public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddMemoryCache(); services.AddSwaggerDocumentation(); services.AddProblemDetails(x => { x.Map <InvalidCommandException>(ex => new InvalidCommandProblemDetails(ex)); x.Map <BusinessRuleValidationException>(ex => new BusinessRuleValidationExceptionProblemDetails(ex)); }); services.AddHttpContextAccessor(); var serviceProvider = services.BuildServiceProvider(); IExecutionContextAccessor executionContextAccessor = new ExecutionContextAccessor(serviceProvider.GetService <IHttpContextAccessor>()); var children = this._configuration.GetSection("Caching").GetChildren(); var cachingConfiguration = children.ToDictionary(child => child.Key, child => TimeSpan.Parse(child.Value)); var emailsSettings = _configuration.GetSection("EmailsSettings").Get <EmailsSettings>(); var memoryCache = serviceProvider.GetService <IMemoryCache>(); return(ApplicationStartup.Initialize( services, this._configuration[OrdersConnectionString], new MemoryCacheStore(memoryCache, cachingConfiguration), null, emailsSettings, _logger, executionContextAccessor)); }
public void ConfigureContainer(ContainerBuilder builder) { // Register your own things directly with Autofac, like: ApplicationStartup.Initialize( builder, this._configuration[OrdersConnectionString], this._configuration[ConnectionKrakenString]); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { ApplicationStartup.Configure(app, env); var apiControllers = new[] { TodoStartup.GetAssembly() }; ApplicationStartup.ConfigureModules(app, env, apiControllers); }
/// <summary> /// 启用Api路由健康报告信息 /// </summary> /// <param name="startup">启动信息</param> /// <param name="a10HealthReport">A10报告</param> /// <param name="secondInterval">每个A10文件的检查间隔,以秒为单位,最小时间为10秒</param> /// <param name="initApiRouteProviderMethod">初始化路由提供者</param> /// <param name="loggerBuilder">日志</param> /// <returns></returns> public static ApplicationStartup UseApiUriRouteDispatch(this ApplicationStartup startup, int secondInterval, IA10HealthReport a10HealthReport, Func <IA10HealthReport, IEnumerable <IApiRouteProvider> > initApiRouteProviderMethod, Func <ILoggerBuilder> loggerBuilder) { startup.RegisterStartService(new StartupService(secondInterval < 10 ? 10 : secondInterval, initApiRouteProviderMethod, a10HealthReport) { LoggerBuilder = loggerBuilder }); return(startup); }
private static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); ApplicationStartup.Initialize(); WindowsFormsSettings.SetDPIAware(); Application.Run(IoC.Resolve <ITestPresenter>().View as Form); }
/// <summary> /// 服务启动 /// </summary> protected virtual void Application_Start() { this.Startup = this.startup(); this.StartupEvents = new StartupEventArgs(this.Startup); if (this.OnStarting != null) { OnStarting(this, this.StartupEvents); } }
/// <summary> /// 使用注入 /// </summary> /// <param name="startup"></param> /// <param name="services"></param> /// <returns></returns> public static ApplicationStartup UseHostingDependency(this ApplicationStartup startup, IServiceCollection services) { if (startup.Items.ContainsKey("UseConsoleHostingDependency")) { return(startup); } startup.Items["UseConsoleHostingDependency"] = "t"; return(new ApiServiceCollection(services).Populate(startup)); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var mvc = ApplicationStartup.ConfigureServices(services); TodoStartup.ConfigureServices(services, mvc); var allMappingProfiles = new[] { Assembly.GetAssembly(typeof(TodoMappingProfile)) }; ApplicationStartup.ConfigureModuleServices(services, allMappingProfiles); }
private static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); ApplicationStartup.Initialize(); var applicationConfugration = new ApplicationConfiguration(); Application.Run(IoC.Resolve <ITestPresenter>().View as Form); }
/// <summary> /// 启动memcached支持 /// </summary> /// <param name="startup"></param> /// <param name="servers">服务列表</param> /// <param name="key">IoC容器中的key</param> /// <param name="compressProtocol"></param> /// <returns></returns> public static ApplicationStartup UseMemcached(this ApplicationStartup startup, MemcachedClient memcachedClient, string key = null) { if (startup.Items.ContainsKey("UseMemcached" + key)) { return(startup); } startup.ServiceRegister.RegisterInstance(memcachedClient, typeof(ICaching), key); startup.Items["UseMemcached" + key] = "t"; return(startup); }
/// <summary> /// 启动wcf Ioc注入支持 /// </summary> /// <param name="startup"></param> /// <returns></returns> public static ApplicationStartup UseWebEnvironment(this ApplicationStartup startup) { if (startup.Items.ContainsKey("UseWebEnvironment")) { return(startup); } startup.ServiceRegister.RegisterType <Never.Web.Fakes.HttpContextWrapper, System.Web.HttpContextBase>(string.Empty, Never.IoC.ComponentLifeStyle.Scoped); startup.Items["UseWebEnvironment"] = "t"; return(startup); }
/// <summary> /// 启动mvc的ModelState验证 /// </summary> /// <param name="startup"></param> /// <returns></returns> public static ApplicationStartup UseMvcModelStateValidation(this ApplicationStartup startup) { if (startup.Items.ContainsKey("UseMvcModelStateValidation")) { return(startup); } startup.RegisterStartService(new StartupService()); startup.Items["UseMvcModelStateValidation"] = "t"; return(startup); }
/// <summary> /// 使用appconfig /// </summary> /// <param name="startup"></param> /// <returns></returns> public static ApplicationStartup UseAppConfig(this ApplicationStartup startup, Microsoft.Extensions.Configuration.IConfiguration configuration) { if (startup.Items.ContainsKey("UseAppConfig")) { return(startup); } startup.ServiceRegister.RegisterInstance(new AppConfigReader(configuration), typeof(IConfigReader)); startup.Items["UseAppConfig"] = "t"; return(startup); }
/// <summary> /// 使用appconfig /// </summary> /// <param name="startup"></param> /// <param name="configReader"></param> /// <returns></returns> public static ApplicationStartup UseAppConfig(this ApplicationStartup startup, IConfigReader configReader) { if (startup.Items.ContainsKey("UseAppConfig")) { return(startup); } startup.ServiceRegister.RegisterInstance(configReader, typeof(IConfigReader)); startup.Items["UseAppConfig"] = "t"; return(startup); }