public virtual SqlConnection NewSqlConnection()
 {
     if (Options?.OnBeforeNewSqlConnectionAsync != null)
     {
         ThreadHelper.CallAsyncFromSync(() => Options.OnBeforeNewSqlConnectionAsync(_connectionString));
     }
     return(new SqlConnection(_connectionString));
 }
示例#2
0
        /// <inheritdoc />
        protected override void ConfigureAppMiddleware(IApplicationBuilder app, IHostingEnvironment env)
        {
            base.ConfigureAppMiddleware(app, env);
            // Verify tokens with our public key
            var rsaPublicKey = ThreadHelper.CallAsyncFromSync(CreateIntegrationCapability().Authentication.PublicKeyService
                                                              .GetPublicRsaKeyAsXmlAsync);

            app.UseNexusTokenValidationHandler(rsaPublicKey);
        }
示例#3
0
        /// <inheritdoc />
        protected override void ConfigureAppMiddleware(IApplicationBuilder app, IHostingEnvironment env)
        {
            base.ConfigureAppMiddleware(app, env);
            if (FulcrumApplication.IsInDevelopment)
            {
                return;
            }
            // Verify tokens with our public key
            var rsaPublicKey = ThreadHelper.CallAsyncFromSync(BusinessApi.Integration.Authentication.TokenService
                                                              .GetPublicRsaKeyAsXmlAsync);

            app.UseNexusTokenValidationHandler(rsaPublicKey);
        }
示例#4
0
        protected virtual void Application_Start()
        {
            try
            {
                ThreadHelper.CallAsyncFromSync(async() => await ApplicationStartBeforeFetchingNexusConfigurationAsync());

                var configuration = ThreadHelper.CallAsyncFromSync(async() => await FetchConfigurationWithRetriesOnFailAsync());
                if (configuration == null)
                {
                    throw new FulcrumResourceException($"{FulcrumApplication.Setup?.Name}:" +
                                                       $" (InstanceId: {Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID")})" +
                                                       $" Could not load configuration from Fundamentals" +
                                                       $" for the service tenant {ServiceTenant}");
                }

                ThreadHelper.CallAsyncFromSync(async() => await ApplicationStartAfterFetchingNexusConfigurationAsync(configuration));
            }
            catch (Exception e)
            {
                _startupError = e;
                LogHelper.FallbackSafeLog(LogSeverityLevel.Critical, "Failure in Application_Start", e);
            }
        }