// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddAutoMapper(typeof(Startup)); services.AddMediatR(typeof(Startup)); services.AddCors(); services.AddTransient <ICloudStorageService, CloudStorageService>(); services.AddScoped <ContentContext>(); services.AddScoped <LibraryContext>(); services.AddSingleton <IQueueService>(opt => { var queueService = AzureStorageQueueService.Create(Configuration["Azure:Storage:Events:ConnectionString"]); queueService.CreateQueue(Configuration["Azure:Storage:Queue:LogEventMPY:Name"]).Wait(); return(queueService); }); services.AddScoped(typeof(IPipelineBehavior <,>), typeof(EventLogBehavior <,>)); services.AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme) .AddIdentityServerAuthentication(options => { options.Authority = Configuration["MPY:IdentityServer:Authority"]; options.ApiName = "MPY.Content"; if (Environment.IsDevelopment()) { options.RequireHttpsMetadata = false; } }); services.AddAuthorization(options => { options.AddPolicy("student", policyAdmin => policyAdmin.RequireClaim("role", "student")); options.AddPolicy("instructor", policyAdmin => policyAdmin.RequireClaim("role", "instructor")); options.AddPolicy("admin", policyAdmin => policyAdmin.RequireClaim("role", "admin")); options.AddPolicy("superadmin", policyAdmin => policyAdmin.RequireClaim("role", "superadmin")); }); services.Configure <FormOptions>(options => { options.MultipartBodyLengthLimit = 6000000000; }); services.AddAntiforgery(options => { // Set Cookie properties using CookieBuilder properties†. options.FormFieldName = "AntiforgeryFieldname"; options.HeaderName = "X-CSRF-TOKEN-HEADERNAME"; options.SuppressXFrameOptionsHeader = false; }); services.AddControllers(config => { config.Filters.Add <GenerateAntiforgeryTokenCookieAttribute>(); config.Filters.Add <DisableFormValueModelBindingAttribute>(); }).SetCompatibilityVersion(Microsoft.AspNetCore.Mvc.CompatibilityVersion.Version_3_0); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddAutoMapper(typeof(Startup)); services.AddMediatR(typeof(Startup)); services.AddCors(); services.AddScoped <ProfileContext>(); services.AddScoped <TribeContext>(); services.AddSingleton <IQueueService>(opt => { var queueService = AzureStorageQueueService.Create(Configuration["Azure:Storage:Events:ConnectionString"]); queueService.CreateQueue(Configuration["Azure:Storage:Queue:LogEventMPY:Name"]).Wait(); return(queueService); }); services.AddScoped(typeof(IPipelineBehavior <,>), typeof(EventLogBehavior <,>)); services.AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme) .AddIdentityServerAuthentication(options => { options.Authority = Configuration["MPY:IdentityServer:Authority"]; options.ApiName = "MPY.Profile"; if (Environment.IsDevelopment()) { options.RequireHttpsMetadata = false; } }); services.AddAuthorization(options => { options.AddPolicy("student", policyAdmin => policyAdmin.RequireClaim("role", "student")); options.AddPolicy("instructor", policyAdmin => policyAdmin.RequireClaim("role", "instructor")); options.AddPolicy("admin", policyAdmin => policyAdmin.RequireClaim("role", "admin")); options.AddPolicy("superadmin", policyAdmin => policyAdmin.RequireClaim("role", "superadmin")); }); }
static async Task Main(string[] args) { var azureStorageQueueService = new AzureStorageQueueService(); var random = new Random(); var randomNumber = random.Next(9999); Console.WriteLine($"Start... {randomNumber}"); while (true) { try { var orderTicketString = await azureStorageQueueService.DequeueAsync("order-ticket-command-queue"); var orderTicket = JsonConvert.DeserializeObject <OrderTicketCommand>(orderTicketString); Console.WriteLine($"Ticket com id:[{orderTicketString}] lido com sucesso! {randomNumber}"); Console.WriteLine(orderTicketString); var ticketOrdered = new TicketOrderedEvent { Id = orderTicket.Id }; var ticketOrderedSerialized = JsonConvert.SerializeObject(ticketOrdered); await azureStorageQueueService.EnqueueAsync("ticket-ordered-event-queue-group-b", ticketOrderedSerialized); Console.WriteLine($"Ticket ordered! {randomNumber}"); } catch { } finally { Console.WriteLine($"Wait... {randomNumber}"); await Task.Delay(200); } } }
public AddRegistrationCompletedEventToQueueCommandHandler(IConfiguration configuration) { _queueService = AzureStorageQueueService.Create(configuration["Azure:Storage:Events:ConnectionString"]); _queueService.CreateQueue(configuration["Azure:Storage:Queue:RegistrationEvent:Name"]); }