static void Main(string[] args) { if (Environment.UserInteractive) { Log.Logger = new LoggerConfiguration().MinimumLevel.Debug().WriteTo.Console() .CreateLogger(); } else { var loggingDirectory = ConfigUtils.ReadRequiredSettingFromAppConfig("LoggingDirectory", "logging directory"); if (!Path.IsPathRooted(loggingDirectory)) { loggingDirectory = Path.Combine(Assembly.GetEntryAssembly().Location, loggingDirectory); } Log.Logger = new LoggerConfiguration().WriteTo.File( Path.Combine(loggingDirectory, "ServiceNowTicketValidator-{Date}.log").ToString(), LogEventLevel.Debug) .CreateLogger(); } HostFactory.Run(hostConfig => { hostConfig.Service <ServiceNowTicketValidatorService>(service => { service.ConstructUsing(c => new ServiceNowTicketValidatorService()); service.WhenStarted(s => s.Start()); service.WhenStopped(s => s.Stop()); }); hostConfig.UseSerilog(); hostConfig.StartAutomaticallyDelayed(); hostConfig.SetDisplayName("ServiceNowTicketValidator"); hostConfig.SetServiceName("SvcNowTktV"); hostConfig.SetDescription("Simple ServiceNow ticket validation and access request approval engine."); }); }
public ServiceNowTicketValidatorService() { _safeguardAddress = ConfigUtils.ReadRequiredSettingFromAppConfig("SafeguardAddress", "Safeguard appliance network address"); _safeguardClientCertificateThumbprint = ConfigUtils.ReadRequiredSettingFromAppConfig("SafeguardClientCertificateThumbprint", "Safeguard client certificate thumbprint").ToUpper(); _safeguardApiVersion = int.Parse(ConfigUtils.ReadRequiredSettingFromAppConfig("SafeguardApiVersion", "Safeguard API version")); _safeguardIgnoreSsl = bool.Parse(ConfigurationManager.AppSettings["SafeguardIgnoreSsl"]); _serviceNowDnsName = ConfigUtils.ReadRequiredSettingFromAppConfig("ServiceNowDnsName", "ServiceNow server DNS name"); _serviceNowClientSecret = ConfigUtils.ReadSettingFromAppConfigIfPresent("ServiceNowClientSecret") ?.ToSecureString(); _serviceNowUserName = ConfigUtils.ReadRequiredSettingFromAppConfig("ServiceNowUserName", "ServiceNow user name"); _safeguardA2AApiKeyForServiceNowPassword = ConfigUtils .ReadRequiredSettingFromAppConfig("SafeguardA2AApiKeyForServiceNowPassword", "Safeguard A2A API key for retrieving ServiceNow password").ToSecureString(); }