Exemple #1
0
        private static async Task <IAzureStorageAuditQueueProcessorFactory> ConfigureDequeue(IStorageStrategy storageStrategy)
        {
            CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount;
            CloudQueue          auditQueue     = storageAccount.CreateCloudQueueClient().GetQueueReference("auditqueue");
            await auditQueue.CreateIfNotExistsAsync();

            IServiceCollection            serviceCollection = new ServiceCollection();
            ICommandingDependencyResolver resolver          = serviceCollection.GetCommandingDependencyResolver(() => _serviceProvider);
            Options options = new Options
            {
                Reset = true // we reset the registry because we allow repeat runs, in a normal app this isn't required
            };

            resolver.UseCommanding(options);
            resolver.UseQueues();
            resolver.UseAzureStorageCommandAuditing(storageAccount, storageStrategy: storageStrategy); // this sets up the table store auditors
            resolver.UseAzureStorageAuditQueueProcessor(auditQueue);                                   // this sets up queue listening
            _serviceProvider = serviceCollection.BuildServiceProvider();

            return(_serviceProvider.GetService <IAzureStorageAuditQueueProcessorFactory>());
        }