コード例 #1
0
        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.");
            });
        }
コード例 #2
0
 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();
 }