Ejemplo n.º 1
0
        /// <summary>
        /// Create a new engine.
        /// </summary>
        /// <param name="connectionString">The Azure blob storage connection string.</param>
        /// <param name="serializer">The serializer to use.</param>
        /// <param name="options">Options for the Azure blob storage.</param>
        public AzureBlobPersistenceEngine(string connectionString, ISerialize serializer, AzureBlobPersistenceOptions options = null)
        {
            if (string.IsNullOrEmpty(connectionString))
            {
                throw new ArgumentException("connectionString cannot be null or empty");
            }
            if (serializer == null)
            {
                throw new ArgumentNullException(nameof(serializer));
            }
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            _connectionString = connectionString;
            _serializer       = serializer;
            _options          = options;

            var storageAccount = CloudStorageAccount.Parse(connectionString);

            _blobClient            = storageAccount.CreateCloudBlobClient();
            _checkpointTableClient = storageAccount.CreateCloudTableClient();
            _primaryContainer      = _blobClient.GetContainerReference(GetContainerName());
        }
        /// <summary>
        /// Create a new wireup.
        /// </summary>
        /// <param name="inner">The wireup to be used.</param>
        /// <param name="connectionString">The Azure blob storage connection string.</param>
        /// <param name="persistenceOptions">Options for the Azure blob storage.</param>
        public AzureBlobPersistenceWireup(Wireup inner, string connectionString, AzureBlobPersistenceOptions persistenceOptions)
            : base(inner)
        {
            Logger.Debug("Configuring Azure blob persistence engine.");

            var options = Container.Resolve <TransactionScopeOption>();

            if (options != TransactionScopeOption.Suppress)
            {
                Logger.Warn(Messages.TransactionScopeNotSupportedSettingIgnored);
            }

            Container.Register(c => new AzureBlobPersistenceFactory(connectionString, c.Resolve <ISerialize>(), persistenceOptions).Build());
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Creates a new factory.
 /// </summary>
 /// <param name="connectionString">The Azure blob storage connection string.</param>
 /// <param name="serializer">The serializer to use.</param>
 /// <param name="options">Options for the Azure blob storage.</param>
 public AzureBlobPersistenceFactory(string connectionString, ISerialize serializer, AzureBlobPersistenceOptions options = null)
 {
     _connectionString = connectionString;
     _serializer       = serializer;
     _options          = options ?? new AzureBlobPersistenceOptions();
 }