本文整理汇总了C#中EndpointConfiguration.GetSettings方法的典型用法代码示例。如果您正苦于以下问题:C# EndpointConfiguration.GetSettings方法的具体用法?C# EndpointConfiguration.GetSettings怎么用?C# EndpointConfiguration.GetSettings使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EndpointConfiguration
的用法示例。
在下文中一共展示了EndpointConfiguration.GetSettings方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetConfiguration
public async Task<EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action<EndpointConfiguration> configurationBuilderCustomization)
{
var settings = runDescriptor.Settings;
var types = endpointConfiguration.GetTypesScopedByTestClass();
typesToInclude.AddRange(types);
var builder = new EndpointConfiguration(endpointConfiguration.EndpointName);
builder.TypesToIncludeInScan(typesToInclude);
builder.CustomConfigurationSource(configSource);
builder.EnableInstallers();
builder.DisableFeature<TimeoutManager>();
builder.Recoverability().Delayed(cfg => cfg.NumberOfRetries(0));
builder.Recoverability().Immediate(cfg => cfg.NumberOfRetries(0));
await builder.DefineTransport(settings, endpointConfiguration.EndpointName).ConfigureAwait(false);
builder.DefineBuilder(settings);
builder.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
Type serializerType;
if (settings.TryGet("Serializer", out serializerType))
{
builder.UseSerialization((SerializationDefinition) Activator.CreateInstance(serializerType));
}
await builder.DefinePersistence(settings, endpointConfiguration.EndpointName).ConfigureAwait(false);
builder.GetSettings().SetDefault("ScaleOut.UseSingleBrokerQueue", true);
configurationBuilderCustomization(builder);
return builder;
}
示例2: GetConfiguration
public async Task<EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration, IConfigurationSource configSource, Action<EndpointConfiguration> configurationBuilderCustomization)
{
var settings = runDescriptor.Settings;
var types = endpointConfiguration.GetTypesScopedByTestClass();
typesToInclude.AddRange(types);
var configuration = new EndpointConfiguration(endpointConfiguration.EndpointName);
configuration.TypesToIncludeInScan(typesToInclude);
configuration.CustomConfigurationSource(configSource);
configuration.EnableInstallers();
configuration.DisableFeature<TimeoutManager>();
var recoverability = configuration.Recoverability();
recoverability.Delayed(delayed => delayed.NumberOfRetries(0));
recoverability.Immediate(immediate => immediate.NumberOfRetries(0));
await configuration.DefineTransport(settings, endpointConfiguration.EndpointName).ConfigureAwait(false);
configuration.DefineBuilder(settings);
configuration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
configuration.UseSerialization<WireSerializer>();
await configuration.DefinePersistence(settings, endpointConfiguration.EndpointName).ConfigureAwait(false);
configuration.GetSettings().SetDefault("ScaleOut.UseSingleBrokerQueue", true);
configurationBuilderCustomization(configuration);
return configuration;
}
示例3: AsyncMain
static async Task AsyncMain()
{
Console.Title = "Samples.MultiTenant.Receiver";
var sharedDatabaseConfiguration = CreateBasicNHibernateConfig();
var tenantDatabasesConfiguration = CreateBasicNHibernateConfig();
var mapper = new ModelMapper();
mapper.AddMapping<OrderMap>();
tenantDatabasesConfiguration.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntities());
var endpointConfiguration = new EndpointConfiguration("Samples.MultiTenant.Receiver");
endpointConfiguration.UseSerialization<JsonSerializer>();
endpointConfiguration.LimitMessageProcessingConcurrencyTo(1);
endpointConfiguration.SendFailedMessagesTo("error");
#region ReceiverConfiguration
var persistence = endpointConfiguration.UsePersistence<NHibernatePersistence>();
persistence.UseConfiguration(tenantDatabasesConfiguration);
persistence.UseSubscriptionStorageConfiguration(sharedDatabaseConfiguration);
persistence.UseTimeoutStorageConfiguration(sharedDatabaseConfiguration);
persistence.DisableSchemaUpdate();
endpointConfiguration.EnableOutbox();
var settingsHolder = endpointConfiguration.GetSettings();
settingsHolder.Set("NHibernate.Timeouts.AutoUpdateSchema", true);
settingsHolder.Set("NHibernate.Subscriptions.AutoUpdateSchema", true);
#endregion
#region ReplaceOpenSqlConnection
endpointConfiguration.Pipeline.Register<ExtractTenantConnectionStringBehavior.Registration>();
#endregion
#region RegisterPropagateTenantIdBehavior
endpointConfiguration.Pipeline.Register<PropagateOutgoingTenantIdBehavior.Registration>();
endpointConfiguration.Pipeline.Register<PropagateIncomingTenantIdBehavior.Registration>();
#endregion
endpointConfiguration.DisableFeature<SecondLevelRetries>();
#region CreateSchema
#endregion
var startableEndpoint = await Endpoint.Create(endpointConfiguration)
.ConfigureAwait(false);
IEndpointInstance endpointInstance = null;
CreateSchema(tenantDatabasesConfiguration, "A");
CreateSchema(tenantDatabasesConfiguration, "B");
try
{
endpointInstance = await startableEndpoint.Start()
.ConfigureAwait(false);
Console.WriteLine("Press any key to exit");
Console.ReadKey();
}
finally
{
if (endpointInstance != null)
{
await endpointInstance.Stop()
.ConfigureAwait(false);
}
}
}