コード例 #1
0
 public ResolveConnectionStringCommand(ConnectionResolverViewModel connectionResolverViewModel, IConnectionStringResolver connectionStringResolver, ILabDetailsProvider labDetailsProvider)
 {
     _connectionStringResolver = connectionStringResolver;
     _connectionResolverViewModel = connectionResolverViewModel;
     _labDetailsProvider = labDetailsProvider;
     InnerCanExecute = true;
 }
コード例 #2
0
 public NullUnitOfWork(
     IConnectionStringResolver connectionStringResolver,
     IUnitOfWorkDefaultOptions defaultOptions)
     : base(
         connectionStringResolver,
         defaultOptions)
 {
 }
コード例 #3
0
        /// <summary>
        /// Constructor.
        /// </summary>
        protected UnitOfWorkBase(IConnectionStringResolver connectionStringResolver, IUnitOfWorkDefaultOptions defaultOptions)
        {
            DefaultOptions = defaultOptions;
            ConnectionStringResolver = connectionStringResolver;

            Id = Guid.NewGuid().ToString("N");
            _filters = defaultOptions.Filters.ToList();
            AbpSession = NullAbpSession.Instance;
        }
コード例 #4
0
 public NullUnitOfWork(
     IConnectionStringResolver connectionStringResolver,
     IUnitOfWorkDefaultOptions defaultOptions,
     IUnitOfWorkFilterExecuter filterExecuter
     ) : base(
         connectionStringResolver,
         defaultOptions,
         filterExecuter)
 {
 }
コード例 #5
0
 /// <summary>
 /// Creates a new instance of <see cref="NhUnitOfWork"/>.
 /// </summary>
 public NhUnitOfWork(
     ISessionFactory sessionFactory, 
     IConnectionStringResolver connectionStringResolver, 
     IUnitOfWorkDefaultOptions defaultOptions,
     IUnitOfWorkFilterExecuter filterExecuter)
     : base(
           connectionStringResolver, 
           defaultOptions,
           filterExecuter)
 {
     _sessionFactory = sessionFactory;
 }
コード例 #6
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public MongoDbUnitOfWork(
     IAbpMongoDbModuleConfiguration configuration, 
     IConnectionStringResolver connectionStringResolver,
     IUnitOfWorkFilterExecuter filterExecuter,
     IUnitOfWorkDefaultOptions defaultOptions)
     : base(
           connectionStringResolver, 
           defaultOptions,
           filterExecuter)
 {
     _configuration = configuration;
 }
コード例 #7
0
        /// <summary>
        /// Constructor.
        /// </summary>
        protected UnitOfWorkBase(
            IConnectionStringResolver connectionStringResolver,
            IUnitOfWorkDefaultOptions defaultOptions,
            IUnitOfWorkFilterExecuter filterExecuter)
        {
            FilterExecuter           = filterExecuter;
            DefaultOptions           = defaultOptions;
            ConnectionStringResolver = connectionStringResolver;

            Id       = Guid.NewGuid().ToString("N");
            _filters = defaultOptions.Filters.ToList();

            AbpSession = NullAbpSession.Instance;
        }
コード例 #8
0
        /// <summary>
        /// Creates a new <see cref="EfCoreUnitOfWork"/>.
        /// </summary>
        public EfCoreUnitOfWork(
            IIocResolver iocResolver,
            IConnectionStringResolver connectionStringResolver,
            IDbContextResolver dbContextResolver,
            IUnitOfWorkDefaultOptions defaultOptions,
            IDbContextTypeMatcher dbContextTypeMatcher)
            : base(connectionStringResolver, defaultOptions)
        {
            IocResolver           = iocResolver;
            _dbContextResolver    = dbContextResolver;
            _dbContextTypeMatcher = dbContextTypeMatcher;

            ActiveDbContexts = new Dictionary <string, DbContext>();
        }
コード例 #9
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public MongoDbUnitOfWork(
     IAbpMongoDbModuleConfiguration configuration,
     IConnectionStringResolver connectionStringResolver,
     IUnitOfWorkFilterExecuter filterExecuter,
     IUnitOfWorkDefaultOptions defaultOptions)
     : base(
         connectionStringResolver,
         defaultOptions,
         filterExecuter)
 {
     _configuration = configuration;
     Database       = new MongoClient(_configuration.ConnectionString)
                      .GetDatabase(_configuration.DatabaseName);
 }
コード例 #10
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public MemoryDbUnitOfWork(
     IAbpMemoryDbModuleConfiguration configuration, 
     MemoryDatabase memoryDatabase, 
     IConnectionStringResolver connectionStringResolver,
     IUnitOfWorkFilterExecuter filterExecuter,
     IUnitOfWorkDefaultOptions defaultOptions)
     : base(
           connectionStringResolver, 
           defaultOptions,
           filterExecuter)
 {
     _configuration = configuration;
     _memoryDatabase = memoryDatabase;
 }
コード例 #11
0
        public Dfhv(IOptions <Option> options, IRazorLightEngine razorLightEngine, INameResolver nameResolver, IConnectionStringResolver connectionStringResolver)
        {
            _razorLightEngine         = razorLightEngine;
            _nameResolver             = nameResolver;
            _connectionStringResolver = connectionStringResolver;
            _option = options.Value;
            var connectionName = _option.AzureStorageConnectionStringName ?? ConnectionStringNames.Storage;
            var resolvedStorageConnectionString = _connectionStringResolver.Resolve(connectionName);
            var account = CloudStorageAccount.Parse(resolvedStorageConnectionString);

            _tableClient = account.CreateCloudTableClient();
            _blobClient  = account.CreateCloudBlobClient();
            _handler     = new HttpHandler(_tableClient, _option.HubName, _razorLightEngine, this);
        }
コード例 #12
0
        private void InitializeForFunctionsV1(ExtensionConfigContext context)
        {
#if !NETSTANDARD2_0
            context.ApplyConfig(this.Options, "DurableTask");

            ILogger logger = context.Config.LoggerFactory.CreateLogger(LoggerCategoryName);

            this.TraceHelper                 = new EndToEndTraceHelper(logger, this.Options.LogReplayEvents);
            this.HttpApiHandler              = new HttpApiHandler(this, logger);
            this.connectionStringResolver    = new WebJobsConnectionStringProvider();
            this.nameResolver                = context.Config.NameResolver;
            this.LifeCycleNotificationHelper = this.CreateLifeCycleNotificationHelper();
#endif
        }
コード例 #13
0
 public DefaultEfCoreUnitOfWork(
     IIocResolver iocResolver,
     IEfCoreTransactionStrategy transactionStrategy,
     IDbContextResolver dbContextResolver,
     IConnectionStringResolver connectionStringResolver,
     ISessionInfo sessionInfo)
     : base(
         iocResolver,
         transactionStrategy,
         dbContextResolver,
         connectionStringResolver,
         sessionInfo)
 {
 }
コード例 #14
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public MemoryDbUnitOfWork(
     ICodeZeroMemoryDbModuleConfiguration configuration,
     MemoryDatabase memoryDatabase,
     IConnectionStringResolver connectionStringResolver,
     IUnitOfWorkFilterExecuter filterExecuter,
     IUnitOfWorkDefaultOptions defaultOptions)
     : base(
         connectionStringResolver,
         defaultOptions,
         filterExecuter)
 {
     _configuration  = configuration;
     _memoryDatabase = memoryDatabase;
 }
コード例 #15
0
        private void InitializeForFunctionsV1(ExtensionConfigContext context)
        {
#if FUNCTIONS_V1
            context.ApplyConfig(this.Options, "DurableTask");
            this.nameResolver = context.Config.NameResolver;
            this.ResolveAppSettingOptions();
            ILogger logger = context.Config.LoggerFactory.CreateLogger(LoggerCategoryName);
            this.TraceHelper = new EndToEndTraceHelper(logger, this.Options.Tracing.TraceReplayEvents);
            this.connectionStringResolver    = new WebJobsConnectionStringProvider();
            this.durabilityProviderFactory   = new AzureStorageDurabilityProviderFactory(new OptionsWrapper <DurableTaskOptions>(this.Options), this.connectionStringResolver);
            this.defaultDurabilityProvider   = this.durabilityProviderFactory.GetDurabilityProvider();
            this.LifeCycleNotificationHelper = this.CreateLifeCycleNotificationHelper();
            this.HttpApiHandler = new HttpApiHandler(this, logger);
#endif
        }
コード例 #16
0
 /// <summary>
 /// cotr
 /// </summary>
 /// <param name="defaultOptions"></param>
 /// <param name="iocResolver"></param>
 /// <param name="currentUnitOfWork"></param>
 /// <param name="dbContextResolver"></param>
 /// <param name="dbContextTypeMatcher"></param>
 /// <param name="connectionStringResolver"></param>
 /// <param name="transactionStrategy"></param>
 public EfUnitOfWork(IUnitOfWorkDefaultOptions defaultOptions,
                     IIocResolver iocResolver,
                     ICurrentUnitOfWorkProvider currentUnitOfWork,
                     IDbContextResolver dbContextResolver,
                     IDbContextTypeMatcher dbContextTypeMatcher,
                     IConnectionStringResolver connectionStringResolver, IEfTransactionStrategy transactionStrategy)
     : base(defaultOptions, currentUnitOfWork, connectionStringResolver)
 {
     IocResolver           = iocResolver;
     _dbContextResolver    = dbContextResolver;
     _dbContextTypeMatcher = dbContextTypeMatcher;
     _transactionStrategy  = transactionStrategy;
     ActiveDbContexts      = new Dictionary <string, DbContext>();
     DbContexts            = new List <DbContext>();
 }
コード例 #17
0
        /// <summary>
        /// Constructor.
        /// </summary>
        protected UnitOfWorkBase(
            IConnectionStringResolver connectionStringResolver,
            IUnitOfWorkDefaultOptions defaultOptions,
            IUnitOfWorkFilterExecuter filterExecuter)
        {
            FilterExecuter           = filterExecuter;
            DefaultOptions           = defaultOptions;
            ConnectionStringResolver = connectionStringResolver;

            Id       = Guid.NewGuid().ToString("N");
            _filters = defaultOptions.Filters.ToList();
            _auditFieldConfiguration = defaultOptions.AuditFieldConfiguration.ToList();
            AbpSession = NullAbpSession.Instance;
            Items      = new Dictionary <string, object>();
        }
コード例 #18
0
ファイル: NhUnitOfWork.cs プロジェクト: xgame92/Stove
        /// <summary>
        ///     Creates a new instance of <see cref="NhUnitOfWork" />.
        /// </summary>
        public NhUnitOfWork(
            IConnectionStringResolver connectionStringResolver,
            IUnitOfWorkDefaultOptions defaultOptions,
            IUnitOfWorkFilterExecuter filterExecuter,
            ISessionFactoryProvider sessionFactoryProvider)
            : base(
                connectionStringResolver,
                defaultOptions,
                filterExecuter)
        {
            _sessionFactoryProvider = sessionFactoryProvider;

            ActiveSessions     = new Dictionary <string, ISession>();
            ActiveTransactions = new Dictionary <string, ActiveTransactionInfo>();
        }
コード例 #19
0
ファイル: EfCoreUnitOfWork.cs プロジェクト: vuta1927/testing
        public EfCoreUnitOfWork(
            IConnectionStringResolver connectionStringResolver,
            IUnitOfWorkDefaultOptions defaultOptions,
            IUnitOfWorkFilterExecuter filterExecuter,
            IDbContextResolver dbContextResolver,
            IEfCoreTransactionStrategy transactionStrategy,
            IDbContextTypeMatcher dbContextTypeMatcher)
            : base(connectionStringResolver, defaultOptions, filterExecuter)
        {
            _dbContextResolver    = dbContextResolver;
            _transactionStrategy  = transactionStrategy;
            _dbContextTypeMatcher = dbContextTypeMatcher;

            ActiveDbContexts = new Dictionary <string, DbContext>();
        }
コード例 #20
0
ファイル: UnitOfWork.cs プロジェクト: shin820/Social
 public UnitOfWork(
     IConnectionStringResolver connectionStringResolver,
     IDbContextResolver dbContextResolver,
     IDependencyResolver dependencyResolver,
     ITransactionStrategy transactionStrategy,
     IUserContext userContext)
 {
     Id = Guid.NewGuid().ToString("N");
     _dependencyResolver       = dependencyResolver;
     _transactionStrategy      = transactionStrategy;
     _connectionStringResolver = connectionStringResolver;
     _dbContextResolver        = dbContextResolver;
     _activeDbContexts         = new Dictionary <string, DbContext>();
     _userContext = userContext;
 }
        public AzureStorageDurabilityProviderFactory(
            IOptions <DurableTaskOptions> options,
            IConnectionStringResolver connectionStringResolver,
            INameResolver nameResolver)
        {
            this.options             = options.Value;
            this.nameResolver        = nameResolver;
            this.azureStorageOptions = new AzureStorageOptions();
            JsonConvert.PopulateObject(JsonConvert.SerializeObject(this.options.StorageProvider), this.azureStorageOptions);

            this.azureStorageOptions.Validate();

            this.connectionStringResolver = connectionStringResolver ?? throw new ArgumentNullException(nameof(connectionStringResolver));
            this.defaultConnectionName    = this.azureStorageOptions.ConnectionStringName ?? ConnectionStringNames.Storage;
        }
コード例 #22
0
    public UnitOfWorkDbContextProvider(
        IUnitOfWorkManager unitOfWorkManager,
        IConnectionStringResolver connectionStringResolver,
        ICancellationTokenProvider cancellationTokenProvider,
        ICurrentTenant currentTenant,
        IOptions <AbpDbContextOptions> options)
    {
        _unitOfWorkManager         = unitOfWorkManager;
        _connectionStringResolver  = connectionStringResolver;
        _cancellationTokenProvider = cancellationTokenProvider;
        _currentTenant             = currentTenant;
        _options = options.Value;

        Logger = NullLogger <UnitOfWorkDbContextProvider <TDbContext> > .Instance;
    }
コード例 #23
0
        public RedisDurabilityProviderFactory(IOptions <DurableTaskOptions> options, IConnectionStringResolver connectionStringResolver)
        {
            this.defaultConnectionName = options.Value.StorageProvider["connectionName"] as string;
            string redisConnectionString = connectionStringResolver.Resolve(this.defaultConnectionName);

            this.defaultHubName     = options.Value.HubName;
            this.connectionResolver = connectionStringResolver;
            var defaultTaskHubService = new RedisOrchestrationService(new RedisOrchestrationServiceSettings()
            {
                TaskHubName           = this.defaultHubName,
                RedisConnectionString = redisConnectionString,
            });

            this.defaultProvider = new DurabilityProvider("Redis", defaultTaskHubService, defaultTaskHubService, this.defaultConnectionName);
        }
コード例 #24
0
        /// <summary>
        /// 构造器.
        /// </summary>
        protected UnitOfWorkBase(
            IConnectionStringResolver connectionStringResolver,
            IUnitOfWorkDefaultOptions defaultOptions,
            IUnitOfWorkFilterExecuter filterExecuter)
        {
            FilterExecuter           = filterExecuter;
            DefaultOptions           = defaultOptions;
            ConnectionStringResolver = connectionStringResolver;

            Id       = Guid.NewGuid().ToString("N");
            _filters = defaultOptions.Filters.ToList();

            SharePlatformSystemSession = NullSharePlatformSession.Instance;
            Items = new Dictionary <string, object>();
        }
コード例 #25
0
        public NhUnitOfWork(
            ISessionFactory sessionFactory,
            IConnectionStringResolver connectionStringResolver,
            IUnitOfWorkDefaultOptions defaultOptions,
            IUnitOfWorkFilterExecuter filterExecuter,

            SheshaNHibernateModule nhModule)
            : base(
                connectionStringResolver,
                defaultOptions,
                filterExecuter)
        {
            _sessionFactory = sessionFactory;

            _nhModule = nhModule;
        }
コード例 #26
0
        internal SqlOrchestrationServiceSettings GetOrchestrationServiceSettings(
            DurableTaskOptions extensionOptions,
            IConnectionStringResolver connectionStringResolver)
        {
            if (connectionStringResolver == null)
            {
                throw new ArgumentNullException(nameof(connectionStringResolver));
            }

            string?connectionString = connectionStringResolver.Resolve(this.ConnectionStringName);

            if (string.IsNullOrEmpty(connectionString))
            {
                throw new InvalidOperationException(
                          $"No SQL connection string configuration was found for the app setting or environment variable named '{this.ConnectionStringName}'.");
            }

            // Validate the connection string
            try
            {
                new SqlConnectionStringBuilder(connectionString);
            }
            catch (ArgumentException e)
            {
                throw new ArgumentException("The provided connection string is invalid.", e);
            }

            var settings = new SqlOrchestrationServiceSettings(connectionString, this.TaskHubName)
            {
                CreateDatabaseIfNotExists = this.CreateDatabaseIfNotExists,
                LoggerFactory             = this.LoggerFactory,
                WorkItemBatchSize         = this.TaskEventBatchSize,
                WorkItemLockTimeout       = this.TaskEventLockTimeout,
            };

            if (extensionOptions.MaxConcurrentActivityFunctions.HasValue)
            {
                settings.MaxConcurrentActivities = extensionOptions.MaxConcurrentActivityFunctions.Value;
            }

            if (extensionOptions.MaxConcurrentOrchestratorFunctions.HasValue)
            {
                settings.MaxActiveOrchestrations = extensionOptions.MaxConcurrentOrchestratorFunctions.Value;
            }

            return(settings);
        }
コード例 #27
0
        protected UnitOfWorkBase(
            IConnectionStringResolver connectionStringResolver,
            ISessionInfo sessionInfo)
        {
            Id = Guid.NewGuid().ToString("N");

            ConnectionStringResolver = connectionStringResolver;
            SessionInfo = sessionInfo;

            CurrentUserId       = SessionInfo.UserId;
            CurrentTenantId     = SessionInfo.TenantId;
            CurrentLanguageCode = SessionInfo.LanguageCode;

            IsSoftDeleteBaseFilterEnabled     = BaseFilterConstants.IsSoftDeleteBaseFilterEnabled;
            IsMayHaveTenantBaseFilterEnabled  = BaseFilterConstants.IsMayHaveTenantBaseFilterEnabled;
            IsMustHaveTenantBaseFilterEnabled = BaseFilterConstants.IsMustHaveTenantBaseFilterEnabled;
        }
コード例 #28
0
        /// <summary>
        /// Creates a new <see cref="EfCoreUnitOfWork"/>.
        /// </summary>
        public EfCoreUnitOfWork(
            IServiceProvider iocResolver,
            IConnectionStringResolver connectionStringResolver,
            IDbContextResolver dbContextResolver,
            IUnitOfWorkDefaultOptions defaultOptions,
            IDbContextTypeMatcher dbContextTypeMatcher,
            IEfCoreTransactionStrategy transactionStrategy)
            : base(connectionStringResolver,
                   defaultOptions)
        {
            IocResolver           = iocResolver;
            _dbContextResolver    = dbContextResolver;
            _dbContextTypeMatcher = dbContextTypeMatcher;
            _transactionStrategy  = transactionStrategy;

            ActiveDbContexts = new Dictionary <string, DbContext>();
        }
コード例 #29
0
        public AzureStorageDurabilityProviderFactory(
            IOptions <DurableTaskOptions> options,
            IConnectionStringResolver connectionStringResolver,
            INameResolver nameResolver,
            ILoggerFactory loggerFactory,
#pragma warning disable CS0612 // Type or member is obsolete
            IPlatformInformationService platformInfo)
#pragma warning restore CS0612 // Type or member is obsolete
        {
            this.options             = options.Value;
            this.nameResolver        = nameResolver;
            this.loggerFactory       = loggerFactory;
            this.azureStorageOptions = new AzureStorageOptions();
            this.inConsumption       = platformInfo.InConsumption();

            // The consumption plan has different performance characteristics so we provide
            // different defaults for key configuration values.
            int maxConcurrentOrchestratorsDefault = this.inConsumption ? 5 : 10 * Environment.ProcessorCount;
            int maxConcurrentActivitiesDefault    = this.inConsumption ? 10 : 10 * Environment.ProcessorCount;

            if (this.inConsumption)
            {
                if (platformInfo.IsPython())
                {
                    this.azureStorageOptions.ControlQueueBufferThreshold = 32;
                }
                else
                {
                    this.azureStorageOptions.ControlQueueBufferThreshold = 128;
                }
            }

            // The following defaults are only applied if the customer did not explicitely set them on `host.json`
            this.options.MaxConcurrentOrchestratorFunctions = this.options.MaxConcurrentOrchestratorFunctions ?? maxConcurrentOrchestratorsDefault;
            this.options.MaxConcurrentActivityFunctions     = this.options.MaxConcurrentActivityFunctions ?? maxConcurrentActivitiesDefault;

            // Override the configuration defaults with user-provided values in host.json, if any.
            JsonConvert.PopulateObject(JsonConvert.SerializeObject(this.options.StorageProvider), this.azureStorageOptions);

            var logger = loggerFactory.CreateLogger(nameof(this.azureStorageOptions));

            this.azureStorageOptions.Validate(logger);

            this.connectionStringResolver = connectionStringResolver ?? throw new ArgumentNullException(nameof(connectionStringResolver));
            this.defaultConnectionName    = this.azureStorageOptions.ConnectionStringName ?? ConnectionStringNames.Storage;
        }
コード例 #30
0
        // Called by the Azure Functions runtime dependency injection infrastructure
        public NetheriteProviderFactory(
            IOptions <DurableTaskOptions> extensionOptions,
            ILoggerFactory loggerFactory,
            IConnectionStringResolver connectionStringResolver,
            IHostIdProvider hostIdProvider)
        {
            this.extensionOptions         = extensionOptions?.Value ?? throw new ArgumentNullException(nameof(extensionOptions));
            this.loggerFactory            = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
            this.connectionStringResolver = connectionStringResolver ?? throw new ArgumentNullException(nameof(connectionStringResolver));
            this.hostIdProvider           = hostIdProvider;

            bool ReadBooleanSetting(string name) => this.extensionOptions.StorageProvider.TryGetValue(name, out object objValue) &&
            objValue is string stringValue && bool.TryParse(stringValue, out bool boolValue) && boolValue;

            this.TraceToConsole = ReadBooleanSetting(nameof(this.TraceToConsole));
            this.TraceToBlob    = ReadBooleanSetting(nameof(this.TraceToBlob));
        }
コード例 #31
0
        private static StorageAccountDetails GetStorageAccountDetailsOrNull(IConnectionStringResolver connectionStringResolver, string connectionName)
        {
            if (string.IsNullOrEmpty(connectionName))
            {
                return(null);
            }

            string resolvedStorageConnectionString = connectionStringResolver.Resolve(connectionName);

            if (string.IsNullOrEmpty(resolvedStorageConnectionString))
            {
                throw new InvalidOperationException($"Unable to resolve the Azure Storage connection named '{connectionName}'.");
            }

            return(new StorageAccountDetails
            {
                ConnectionString = resolvedStorageConnectionString,
            });
        }
コード例 #32
0
ファイル: EfUnitOfWork.cs プロジェクト: stwilson123/Blocks
        /// <summary>
        /// Creates a new <see cref="EfUnitOfWork"/>.
        /// </summary>
        public EfUnitOfWork(
            IIocResolver iocResolver,
            IConnectionStringResolver connectionStringResolver,
            IDbContextResolver dbContextResolver,
            // IEfUnitOfWorkFilterExecuter filterExecuter,
            IUnitOfWorkDefaultOptions defaultOptions,
            IDbContextTypeMatcher dbContextTypeMatcher,
            IEfTransactionStrategy transactionStrategy)
            : base(
                connectionStringResolver,
                defaultOptions)
            // filterExecuter)
        {
            IocResolver           = iocResolver;
            _dbContextResolver    = dbContextResolver;
            _dbContextTypeMatcher = dbContextTypeMatcher;
            _transactionStrategy  = transactionStrategy;

            ActiveDbContexts = new Dictionary <string, DbContext>();
        }
コード例 #33
0
        /// <summary>
        /// Creates a new <see cref="EfCoreUnitOfWork"/>.
        /// </summary>
        public EfCoreUnitOfWork(
            IIocResolver iocResolver,
            IConnectionStringResolver connectionStringResolver,
            IUnitOfWorkFilterExecuter filterExecuter,
            IDbContextResolver dbContextResolver,
            IUnitOfWorkDefaultOptions defaultOptions,
            IDbContextTypeMatcher dbContextTypeMatcher,
            IEfCoreTransactionStrategy transactionStrategy)
            : base(
                connectionStringResolver,
                defaultOptions,
                filterExecuter)
        {
            IocResolver           = iocResolver;
            _dbContextResolver    = dbContextResolver;
            _dbContextTypeMatcher = dbContextTypeMatcher;
            _transactionStrategy  = transactionStrategy;

            ActiveDbContexts = new Dictionary <string, DbContext>(StringComparer.OrdinalIgnoreCase);
        }
        public AzureStorageDurabilityProviderFactory(
            IOptions <DurableTaskOptions> options,
            IConnectionStringResolver connectionStringResolver)
        {
            this.options             = options.Value;
            this.azureStorageOptions = new AzureStorageOptions();
            JsonConvert.PopulateObject(JsonConvert.SerializeObject(this.options.StorageProvider), this.azureStorageOptions);

            this.azureStorageOptions.Validate();
            if (!this.options.IsDefaultHubName())
            {
                this.azureStorageOptions.ValidateHubName(this.options.HubName);
            }
            else if (!this.azureStorageOptions.IsSanitizedHubName(this.options.HubName, out string sanitizedHubName))
            {
                this.options.SetDefaultHubName(sanitizedHubName);
            }

            this.connectionStringResolver = connectionStringResolver;
            this.defaultConnectionName    = this.azureStorageOptions.ConnectionStringName ?? ConnectionStringNames.Storage;
            this.defaultSettings          = this.GetAzureStorageOrchestrationServiceSettings();
        }
コード例 #35
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DurableTaskExtension"/>.
        /// </summary>
        /// <param name="options">The configuration options for this extension.</param>
        /// <param name="loggerFactory">The logger factory used for extension-specific logging and orchestration tracking.</param>
        /// <param name="nameResolver">The name resolver to use for looking up application settings.</param>
        /// <param name="connectionStringResolver">The resolver to use for looking up connection strings.</param>
        public DurableTaskExtension(
            IOptions <DurableTaskOptions> options,
            ILoggerFactory loggerFactory,
            INameResolver nameResolver,
            IConnectionStringResolver connectionStringResolver)
        {
            // Options will be null in Functions v1 runtime - populated later.
            this.Options                  = options?.Value ?? new DurableTaskOptions();
            this.nameResolver             = nameResolver ?? throw new ArgumentNullException(nameof(nameResolver));
            this.connectionStringResolver = connectionStringResolver ?? throw new ArgumentNullException(nameof(connectionStringResolver));

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            ILogger logger = loggerFactory.CreateLogger(LoggerCategoryName);

            this.TraceHelper    = new EndToEndTraceHelper(logger, this.Options.LogReplayEvents);
            this.HttpApiHandler = new HttpApiHandler(this, logger);
            this.LifeCycleNotificationHelper = this.CreateLifeCycleNotificationHelper();
            this.isOptionsConfigured         = true;
        }
コード例 #36
0
 public NullUnitOfWork(IConnectionStringResolver connectionStringResolver, IUnitOfWorkDefaultOptions defaultOptions, IUnitOfWorkFilterExecuter filterExecuter)
     : base(connectionStringResolver, defaultOptions, filterExecuter)
 {
 }
コード例 #37
0
 public ConnectionStringResolver_Tests()
 {
     _connectionStringResolver = ServiceProvider.GetRequiredService <IConnectionStringResolver>();
 }
コード例 #38
0
 /// <summary>
 /// Creates a new instance of <see cref="NhUnitOfWork"/>.
 /// </summary>
 public NhUnitOfWork(ISessionFactory sessionFactory, IConnectionStringResolver connectionStringResolver, IUnitOfWorkDefaultOptions defaultOptions)
     : base(connectionStringResolver, defaultOptions)
 {
     AbpSession = NullAbpSession.Instance;
     _sessionFactory = sessionFactory;
 }