public ConfigFileReader(string filePath) { var yamlConfigs = YamlReader.ConvertYamlFileToConfigurations(filePath); Settings = new Settings { MethodsWithWeights = new List<KeyValuePair<string, int>>(), ServerResponseCodesWithWeights = new List<KeyValuePair<string, int>>(), ExtensionsWithWeights = new List<KeyValuePair<string, int>>(), }; foreach (var t in yamlConfigs) { if (t.Key1 == "methods") { Settings.MethodsWithWeights.Add(new KeyValuePair<string, int>(t.Value1, Convert.ToInt32(t.Value2))); } if (t.Key1 == "extensions") { Settings.ExtensionsWithWeights.Add(new KeyValuePair<string, int>(t.Value1, Convert.ToInt32(t.Value2))); } if (t.Key1 == "serverResponseCodes") { Settings.ServerResponseCodesWithWeights.Add(new KeyValuePair<string, int>(t.Value1, Convert.ToInt32(t.Value2))); } } }
private static void ApplyAbilitySettings(CombatLogEvent @event, CombatLogViewModel viewModel, Settings settings) { if (!settings.EnableAbilitySettings) return; var abilitySetting = settings.AbilitySettings .FirstOrDefault(s => s.AbilityId == @event.Ability.EntityId.ToString() && s.Enabled); if (abilitySetting != null) { if (abilitySetting.Image != null && File.Exists(abilitySetting.Image)) { viewModel.ImageUrl = abilitySetting.Image; } if (!string.IsNullOrEmpty(abilitySetting.BorderColor)) { viewModel.ImageBorderColor = abilitySetting.BorderColor.FromHexToColor(); } if (abilitySetting.Aliases.Any()) { viewModel.Text = abilitySetting.Aliases.PickRandom(); } } }
public static Task <IStartableEndpoint> Create(Settings.Settings settings, TransportCustomization transportCustomization, TransportSettings transportSettings, LoggingSettings loggingSettings, IContainer container, Action <ICriticalErrorContext> onCriticalError, EmbeddableDocumentStore documentStore, EndpointConfiguration configuration, bool isRunningAcceptanceTests) { var endpointName = settings.ServiceName; if (configuration == null) { configuration = new EndpointConfiguration(endpointName); var assemblyScanner = configuration.AssemblyScanner(); assemblyScanner.ExcludeAssemblies("ServiceControl.Plugin"); } configuration.Pipeline.Register(typeof(FullTypeNameOnlyBehavior), "Remove asm qualified name from the message type header"); // HACK: Yes I know, I am hacking it to pass it to RavenBootstrapper! configuration.GetSettings().Set(documentStore); configuration.GetSettings().Set("ServiceControl.Settings", settings); configuration.SendOnly(); transportCustomization.CustomizeSendOnlyEndpoint(configuration, transportSettings); //DisablePublishing API is available only on TransportExtensions for transports that implement IMessageDrivenPubSub so we need to set settings directly configuration.GetSettings().Set("NServiceBus.PublishSubscribe.EnablePublishing", false); var routing = new RoutingSettings(configuration.GetSettings()); routing.RouteToEndpoint(typeof(RegisterNewEndpoint), settings.ServiceControlQueueAddress); routing.RouteToEndpoint(typeof(MarkMessageFailureResolvedByRetry), settings.ServiceControlQueueAddress); configuration.GetSettings().Set(loggingSettings); configuration.SetDiagnosticsPath(loggingSettings.LogPath); // sagas are not auto-disabled for send-only endpoints configuration.DisableFeature <Sagas>(); configuration.UseSerialization <NewtonsoftSerializer>(); configuration.Conventions().DefiningEventsAs(t => typeof(IEvent).IsAssignableFrom(t) || IsExternalContract(t)); if (!isRunningAcceptanceTests) { configuration.ReportCustomChecksTo(settings.ServiceControlQueueAddress); } #pragma warning disable CS0618 // Type or member is obsolete configuration.UseContainer <AutofacBuilder>(c => c.ExistingLifetimeScope(container)); #pragma warning restore CS0618 // Type or member is obsolete configuration.DefineCriticalErrorAction(criticalErrorContext => { onCriticalError(criticalErrorContext); return(Task.FromResult(0)); }); if (Environment.UserInteractive && Debugger.IsAttached) { configuration.EnableInstallers(); } return(Endpoint.Create(configuration)); }
public static Task <IStartableEndpoint> Create(Settings.Settings settings, TransportCustomization transportCustomization, TransportSettings transportSettings, LoggingSettings loggingSettings, IContainer container, Action <ICriticalErrorContext> onCriticalError, EmbeddableDocumentStore documentStore, EndpointConfiguration configuration, bool isRunningAcceptanceTests) { var endpointName = settings.ServiceName; if (configuration == null) { configuration = new EndpointConfiguration(endpointName); var assemblyScanner = configuration.AssemblyScanner(); assemblyScanner.ExcludeAssemblies("ServiceControl.Plugin"); } // HACK: Yes I know, I am hacking it to pass it to RavenBootstrapper! configuration.GetSettings().Set(documentStore); configuration.GetSettings().Set("ServiceControl.Settings", settings); MapSettings(transportSettings, settings); transportCustomization.CustomizeEndpoint(configuration, transportSettings); configuration.GetSettings().Set(loggingSettings); // Disable Auditing for the service control endpoint configuration.DisableFeature <Audit>(); configuration.DisableFeature <AutoSubscribe>(); configuration.DisableFeature <TimeoutManager>(); configuration.DisableFeature <Outbox>(); var recoverability = configuration.Recoverability(); recoverability.Immediate(c => c.NumberOfRetries(3)); recoverability.Delayed(c => c.NumberOfRetries(0)); configuration.SendFailedMessagesTo($"{endpointName}.Errors"); configuration.UseSerialization <NewtonsoftSerializer>(); configuration.LimitMessageProcessingConcurrencyTo(settings.MaximumConcurrencyLevel); configuration.Conventions().DefiningEventsAs(t => typeof(IEvent).IsAssignableFrom(t) || IsExternalContract(t)); if (!isRunningAcceptanceTests) { configuration.ReportCustomChecksTo(endpointName); } configuration.UseContainer <AutofacBuilder>(c => c.ExistingLifetimeScope(container)); configuration.DefineCriticalErrorAction(criticalErrorContext => { onCriticalError(criticalErrorContext); return(Task.FromResult(0)); }); if (Environment.UserInteractive && Debugger.IsAttached) { configuration.EnableInstallers(); } return(Endpoint.Create(configuration)); }
static TransportSettings MapSettings(Settings.Settings settings) { var transportSettings = new TransportSettings { EndpointName = settings.ServiceName, ConnectionString = settings.TransportConnectionString, MaxConcurrency = settings.MaximumConcurrencyLevel }; return(transportSettings); }
// Windows Service public Bootstrapper(Action <ICriticalErrorContext> onCriticalError, Settings.Settings settings, EndpointConfiguration configuration, LoggingSettings loggingSettings, Action <ContainerBuilder> additionalRegistrationActions = null) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } this.onCriticalError = onCriticalError; this.configuration = configuration; this.loggingSettings = loggingSettings; this.additionalRegistrationActions = additionalRegistrationActions; this.settings = settings; Initialize(); }
public static async Task <BusInstance> CreateAndStart(Settings.Settings settings, TransportCustomization transportCustomization, TransportSettings transportSettings, LoggingSettings loggingSettings, IContainer container, Action <ICriticalErrorContext> onCriticalError, EmbeddableDocumentStore documentStore, EndpointConfiguration configuration, bool isRunningAcceptanceTests) { var startableEndpoint = await Create(settings, transportCustomization, transportSettings, loggingSettings, container, onCriticalError, documentStore, configuration, isRunningAcceptanceTests) .ConfigureAwait(false); var endpointInstance = await startableEndpoint.Start().ConfigureAwait(false); var builder = new ContainerBuilder(); builder.RegisterInstance(endpointInstance).As <IMessageSession>(); builder.Update(container.ComponentRegistry); var auditIngestion = container.Resolve <AuditIngestionComponent>(); return(new BusInstance(endpointInstance, auditIngestion)); }
public ConfigFileReader(string filePath) { var yamlReader = new YamlReader(filePath); Settings = new Settings.Settings { AvailableMethods = new List<KeyValuePair<string, int>>(), AvailableProtocols = new List<KeyValuePair<string, int>>(), AvailableFileExtension = new List<KeyValuePair<string, int>>(), AvailableStatusСodes = new List<KeyValuePair<string, int>>() }; for (var i = 0; i < yamlReader.Records.Count(); i++) { if (yamlReader.Records.ElementAt(i).Key1 == "Method") { Settings.AvailableMethods.Add(new KeyValuePair<string, int>(yamlReader.Records.ElementAt(i).Value1, Convert.ToInt32(yamlReader.Records.ElementAt(i).Value2))); } if (yamlReader.Records.ElementAt(i).Key1 == "Protocol") { Settings.AvailableProtocols.Add(new KeyValuePair<string, int>(yamlReader.Records.ElementAt(i).Value1, Convert.ToInt32(yamlReader.Records.ElementAt(i).Value2))); } if (yamlReader.Records.ElementAt(i).Key1 == "StatusCode") { Settings.AvailableStatusСodes.Add(new KeyValuePair<string, int>(yamlReader.Records.ElementAt(i).Value1, Convert.ToInt32(yamlReader.Records.ElementAt(i).Value2))); } if (yamlReader.Records.ElementAt(i).Key1 == "FileExtension") { Settings.AvailableFileExtension.Add(new KeyValuePair<string, int>(yamlReader.Records.ElementAt(i).Value1, Convert.ToInt32(yamlReader.Records.ElementAt(i).Value2))); } } }
public static Settings Load() { string path = Path.Combine(Program.AppDataPath, _fileName); Settings settingsToReturn; FileStream fs = null; try { fs = new FileStream(path, FileMode.Open); XmlSerializer xs = new XmlSerializer(typeof(Settings)); settingsToReturn = (Settings)xs.Deserialize(fs); } catch (FileNotFoundException) { settingsToReturn = new Settings(); } finally { if (fs != null) fs.Close(); } return settingsToReturn; }
private void ApplyLoggerSettings(CombatLogEvent combatLogEvent, CombatLogViewModel viewModel, Settings settings) { var abilityId = combatLogEvent.Ability.EntityId; viewModel.ImageUrl = imageService.GetImageById(abilityId); viewModel.IsUnknown = imageService.IsUnknown(abilityId); viewModel.ImageBorderColor = Colors.Transparent; viewModel.Text = combatLogEvent.Ability.DisplayName; viewModel.TextVisibility = settings.EnableAbilityText ? Visibility.Visible : Visibility.Hidden; viewModel.TooltipText = $"{combatLogEvent.Ability.EntityId} (Click to copy Ability ID to Clipboard!)"; }
private void ApplyFontSettings(CombatLogViewModel viewModel, Settings settings) { viewModel.FontColor = new SolidColorBrush(settings.AbilityTextColor.FromHexToColor()); viewModel.FontFamily = fontService.GetFontFromString(settings.TextFont); viewModel.FontSize = settings.FontSize; viewModel.FontBorderColor = new SolidColorBrush(settings.AbilityTextBorderColor.FromHexToColor()); viewModel.FontBorderThickness = settings.FontBorderThickness; }
public SetupBootstrapper(Settings.Settings settings, string[] excludeAssemblies = null) { this.excludeAssemblies = excludeAssemblies; this.settings = settings; }
private static void MapSettings(TransportSettings transportSettings, Settings.Settings settings) { transportSettings.EndpointName = settings.ServiceName; transportSettings.ConnectionString = settings.TransportConnectionString; transportSettings.MaxConcurrency = settings.MaximumConcurrencyLevel; }
public SetupBootstrapper(Settings.Settings settings) { this.settings = settings; }