/// <summary> /// 向当前网站中注册配置信息。 /// </summary> public static void Register() { // 初始化 IOC 配置 var container = BuildUnityContainer(); GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container); // 加载缺省配置 ConfigurationPipeline.ContainerConfiguration.Add(new AssemblyResolveConfiguration()); ConfigurationPipeline.ContainerConfiguration.Add(new CustomConfigConfiguration()); ConfigurationPipeline.ContainerConfiguration.Add(new UnityContainerConfiguration()); ConfigurationPipeline.HttpConfiguration.Add(new AppConfigConfiguration()); ConfigurationPipeline.HttpConfiguration.Add(new DefaultHttpRouteConfiguration()); ConfigurationPipeline.HttpConfiguration.Add(new RequestConfiguration()); ConfigurationPipeline.HttpConfiguration.Add(ConfigurationCreator.CreateHttpConfigurationFromDelegate(p => { p.Filters.Add(new ReturnValueWrapperAttribute()); p.Filters.Add(new ReturnExceptionWrapperAttribute()); })); // 触发自定义初始化加载 GlobalStarterX.Instance.RaiseEvent(p => p.Initialize()); // 加载 IOC 配置 ConfigurationPipeline.ContainerConfiguration.Aggregate((object)container, (x, y) => y.ConfigurateContainer(x)); // 加载 其它 配置 ConfigurationPipeline.HttpConfiguration.ForEach(p => p.Configurate(GlobalConfiguration.Configuration)); // 触发配置完成事件 GlobalStarterX.Instance.RaiseEvent(p => p.Complete()); }
private static async Task Main(string[] args) { var config = ConfigurationCreator.GetConfiguration(); var routerName = config["NServiceBus:EndpointName"]; Console.Title = routerName; var routerConfig = new RouterConfiguration(routerName); var staticRouting = routerConfig.UseStaticRoutingProtocol(); RouteFromAzureToAzure(config, routerConfig, staticRouting); // RouteFromLearningToAzure(routerConfig, config, staticRouting); // RouteFromAzureToLearning(routerConfig, config, staticRouting); routerConfig.AutoCreateQueues(); routerConfig.PoisonQueueName = $"{routerName}-poison"; var router = Router.Create(routerConfig); await router.Start().ConfigureAwait(false); Console.WriteLine("Press <enter> to exit"); Console.ReadLine(); await router.Stop().ConfigureAwait(false); }
private void WhenICreate() { var serviceProvider = _serviceCollection.BuildServiceProvider(); _creator = new ConfigurationCreator(_spcCreator.Object, _qosCreator.Object, _hhoCreator.Object, serviceProvider, _lboCreator.Object, _vCreator.Object); _result = _creator.Create(_fileConfig, _reRoutes); }
public Configuration Build() { Guard.ArgumentNotNull(ConfigurationCreator, "Configuration Creator"); Configuration configuration = null; //1. Create the Configuration configuration = ConfigurationCreator.Create(); //2. Configure Custom Extensions if (CustomExtensionsConfigurator != null) { configuration = CustomExtensionsConfigurator.Configure(configuration); } //3. Add the mapping information if (MappingInfoLoader != null) { configuration = MappingInfoLoader.Load(configuration); } //4. Add Custom Mapping file string mappingFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "CustomMapping.hbm.xml"); if (File.Exists(mappingFile)) { configuration.AddXmlFile(mappingFile); } return(configuration); }
public void Run(bool updateExtraFile) { if (updateExtraFile) { SourceAdapter.EditFile(m_extraFile.LocalPath); } if (Configuration == null) { // Generate a configuration file Configuration = ConfigurationCreator.CreateConfiguration(TestConstants.ConfigurationTemplate.SingleVCSession, TestEnvironment); ConfigurationCreator.CreateConfigurationFile(Configuration, ConfigurationFileName); foreach (var session in Configuration.SessionGroup.Sessions.Session) { VCSession = session; break; } } string directoryBeforeMigration = Environment.CurrentDirectory; StartMigration(); Environment.CurrentDirectory = directoryBeforeMigration; }
private static async Task Main(string[] args) { configuration = ConfigurationCreator.GetConfiguration(); endpointConfiguration = new EndpointConfiguration(configuration["NServiceBus:EndpointName"]); ConfigureTransportAndRouting(); // UseLearningTransport(); ConfigureSerialization(); ConfigureRecoverability(); ConfigureLogging(); endpointConfiguration.SendOnly(); var endpointInstance = await Endpoint.Start(endpointConfiguration).ConfigureAwait(false); Console.WriteLine($"Sending command: {nameof(SendCommandFromEndpointA)}..."); var sendOptions = new SendOptions(); sendOptions.SetDestination("proto-router-endpoint-a"); await endpointInstance.Send(new SendCommandFromEndpointA(), sendOptions).ConfigureAwait(false); await endpointInstance.Stop().ConfigureAwait(false); }
protected override void RunAndNoValidate(bool useExistingConfiguration) { if (!useExistingConfiguration || Configuration == null) { BuildFilterStringPair(); // Generate a new configuration file Configuration = ConfigurationCreator.CreateConfiguration(TestConstants.ConfigurationTemplate.SingleWITSession, TestEnvironment); ConfigurationCreator.CreateConfigurationFile(Configuration, ConfigurationFileName); } // add validation step Configuration.LoadFromFile(ConfigurationFileName, true); }
public Dictionary <int, Configuration> BuildAll(NHibernateConfig config) { Guard.ArgumentNotNull(ConfigurationCreator, "Configuration Creator"); Dictionary <int, Configuration> configurations = null; Dictionary <int, Configuration> result = null; //1. Create the Configurations configurations = ConfigurationCreator.CreateAll(config); if (configurations != null) { result = new Dictionary <int, Configuration>(); IEnumerator enumerator = configurations.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <int, Configuration> valuePair = (KeyValuePair <int, Configuration>)enumerator.Current; Configuration configuration = valuePair.Value; //2. Configure Custom Extensions if (CustomExtensionsConfigurator != null) { configuration = CustomExtensionsConfigurator.Configure(configuration); } //3. Add the mapping information if (MappingInfoLoader != null) { configuration = MappingInfoLoader.Load(configuration); } //4. Add Custom Mapping file string mappingFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "CustomMapping.hbm.xml"); if (File.Exists(mappingFile)) { configuration.AddXmlFile(mappingFile); } result.Add(valuePair.Key, configuration); } } return(result); }
protected override void RunAndValidate(bool useExistingConfiguration, bool AddOnBranchSourceNotFound) { if (!useExistingConfiguration || Configuration == null) { // Generate a new configuration file Configuration = ConfigurationCreator.CreateConfiguration(TestConstants.ConfigurationTemplate.SingleVCSession, TestEnvironment); // Try moving foreach here ... foreach (var session in Configuration.SessionGroup.Sessions.Session) { VCSession = session; break; } ConfigurationCreator.CreateConfigurationFile(Configuration, ConfigurationFileName); Configuration.LoadFromFile(ConfigurationFileName); } }
/// <summary> /// 引发当前程序集的初始化操作:该操作在初始化 IOC 基本配置,加载默认的配置管道后触发,触发索引【1】。 /// </summary> public override void Initialize() { ConfigurationPipeline.ContainerConfiguration.Add(ConfigurationCreator.CreateContainerConfigurationFromDelegate(container => { var unity = container as IUnityContainer; var validator = new DefaultAuthenticationTokenValidator() { SlideDue = TimeSpan.FromHours(2), }; unity.RegisterType <IIdentity, DefaultIdentity>("Default") .RegisterType <IIdentity, UserTokenController>("UserToken") .RegisterInstance <IAuthenticationTokenRegister>(validator) .RegisterInstance <IAuthenticationTokenValidator>(validator); return(container); })); ConfigurationPipeline.HttpConfiguration.Add(ConfigurationCreator.CreateHttpConfigurationFromDelegate(configuration => configuration.Filters.Add(new PrincipalAuthorizationFilter()))); }
private static async Task Main(string[] args) { configuration = ConfigurationCreator.GetConfiguration(); endpointConfiguration = new EndpointConfiguration(configuration["NServiceBus:EndpointName"]); ConfigureTransportAndRouting(); // UseLearningTransport(); ConfigureSerialization(); ConfigureRecoverability(); ConfigureLogging(); endpointConfiguration.EnableInstallers(); var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); Console.WriteLine("Press <enter> to exit."); Console.ReadLine(); await endpointInstance.Stop() .ConfigureAwait(false); }
//public Dictionary<int, Configuration> BuildAll(List<DataBaseTenant> dataBaseTenants) //{ // Guard.ArgumentNotNull(ConfigurationCreator, "Configuration Creator"); // Dictionary<int, Configuration> configurations = null; // Dictionary<int, Configuration> result = null; // //1. Create the Configurations // configurations = ConfigurationCreator.CreateAll(dataBaseTenants); // if (configurations != null) // { // result = new Dictionary<int, Configuration>(); // IEnumerator enumerator = configurations.GetEnumerator(); // while (enumerator.MoveNext()) // { // KeyValuePair<int, Configuration> valuePair = (KeyValuePair<int, Configuration>)enumerator.Current; // Configuration configuration = valuePair.Value; // //2. Configure Custom Extensions // if (CustomExtensionsConfigurator != null) // configuration = CustomExtensionsConfigurator.Configure(configuration); // //3. Add the mapping information // if (MappingInfoLoader != null) // configuration = MappingInfoLoader.Load(configuration); // result.Add(valuePair.Key, configuration); // } // } // return result; //} public Dictionary <int, Configuration> BuildAll(ICollection <DataBase> dataBases) { Guard.ArgumentNotNull(ConfigurationCreator, "Configuration Creator"); Dictionary <int, Configuration> configurations = null; Dictionary <int, Configuration> result = null; //1. Create the Configurations configurations = ConfigurationCreator.CreateAll(dataBases); if (configurations != null) { result = new Dictionary <int, Configuration>(); IEnumerator enumerator = configurations.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <int, Configuration> valuePair = (KeyValuePair <int, Configuration>)enumerator.Current; Configuration configuration = valuePair.Value; //2. Configure Custom Extensions if (CustomExtensionsConfigurator != null) { configuration = CustomExtensionsConfigurator.Configure(configuration); } //3. Add the mapping information if (MappingInfoLoader != null) { configuration = MappingInfoLoader.Load(configuration); } result.Add(valuePair.Key, configuration); } } return(result); }
protected override void Load(ContainerBuilder builder) { // an input connection builder.Register((c, p) => c.Resolve <Cfg>(p).Input()).As <Connection>(); // a cleaned up file info builder.Register((c, p) => { var connection = c.Resolve <Connection>(); return(new FileInfo(Path.IsPathRooted(connection.File) ? connection.File : Path.Combine(AppDomain.CurrentDomain.BaseDirectory, connection.File))); }).As <FileInfo>(); // an input connection context builder.Register <IConnectionContext>((c, p) => new ConnectionContext(c.Resolve <IContext>(p), c.Resolve <Connection>())).As <IConnectionContext>(); // a schema reader for file or excel builder.Register <ISchemaReader>((c, p) => { var context = c.Resolve <IConnectionContext>(); var cfg = context.Connection.Provider == "file" ? new FileInspection(context, c.Resolve <FileInfo>()).Create() : new ExcelInspection(context, c.Resolve <FileInfo>()).Create(); var process = c.Resolve <Process>(p.Concat(new[] { new NamedParameter("cfg", cfg) })); process.Pipeline = "parallel.linq"; return(new SchemaReader(context, new RunTimeRunner(context), process)); }).As <ISchemaReader>(); builder.Register <IRunTimeExecute>((c, p) => new RunTimeExecutor(c.Resolve <IConnectionContext>())).As <IRunTimeExecute>(); // when you resolve a process, you need to add a cfg parameter builder.Register((c, p) => { var parameters = new List <global::Autofac.Core.Parameter>(); parameters.AddRange(p); var cfg = new ConfigurationCreator(c.Resolve <Cfg>(p), c.Resolve <ISchemaReader>(p)).Create(); parameters.Add(new NamedParameter("cfg", cfg)); return(c.Resolve <Process>(parameters)); }).Named <Process>("import"); // Connection Factory builder.Register <IConnectionFactory>(c => { var output = c.Resolve <Cfg>().Output(); switch (output.Provider) { case "sqlserver": return(new SqlServerConnectionFactory(output)); case "mysql": return(new MySqlConnectionFactory(output)); case "postgresql": return(new PostgreSqlConnectionFactory(output)); case "sqlite": return(new SqLiteConnectionFactory(output)); default: return(new NullConnectionFactory()); } }).As <IConnectionFactory>().InstancePerLifetimeScope(); // Final product is Importer builder.Register((c, p) => { var context = c.Resolve <IConnectionContext>(); var key = c.Resolve <Request>(p).ToKey(c.Resolve <Cfg>()); var process = c.Resolve <Process>(); if (Cache.ContainsKey(key)) { process.Load(Cache[key]); context.Info("Using cached delimiter, header, type, and string-length inspection."); } else { process = c.ResolveNamed <Process>("import", p); Cache[key] = process.Serialize(); context.Info("Cached delimiter, header, type, and string-length inspection."); } return(new Importer(process, c.Resolve <IRunTimeExecute>(p), c.Resolve <IConnectionFactory>())); }).As <Importer>(); }