public InMemoryOutboxReceiveContext(OutboxContext outboxContext, ReceiveContext context) : base(context) { SendEndpointProvider = new InMemoryOutboxSendEndpointProvider(outboxContext, context.SendEndpointProvider); PublishEndpointProvider = new InMemoryOutboxPublishEndpointProvider(outboxContext, context.PublishEndpointProvider); }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, AppUserContext appUserContext, OutboxContext outboxContext, ILogger <Startup> logger) { Log.Information($"Hosting enviroment = {env.EnvironmentName}"); Log.Information($"RDS_ENDPOINT = {Environment.GetEnvironmentVariable("RDS_ENDPOINT")}"); app.UseMiddleware <ErrorHandlerMiddleware>(); if (env.IsDevelopment()) { //app.UseDeveloperExceptionPage(); } app.UseSwaggerLogon(); app.UseAWS(); app.UseSecurity(); app.UseSerilogRequestLogging(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapHealthChecks("/health/live", new HealthCheckOptions { Predicate = _ => true, ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse }); endpoints.MapHealthChecks("/health/ready", new HealthCheckOptions() { Predicate = reg => reg.Tags.Contains("ready"), ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse }); endpoints.Map("/", async(context) => { var result = JsonSerializer.Serialize(new { machineName = Environment.MachineName, appName = env.ApplicationName, environment = env.EnvironmentName }); context.Response.ContentType = Common.APPLICATION_JSON; await context.Response.WriteAsync(result.ToString()); }); }); Seed(appUserContext, outboxContext, logger); }
public OutboxUnitOfWorkTests() { _conn = new SqliteConnection("Filename=:memory:"); _conn.Open(); var builder = new DbContextOptionsBuilder <OutboxContext>(); builder.UseSqlite(_conn); var options = builder.Options; _ctx = new OutboxContext(options); }
private void Seed(AppUserContext appUserContext, OutboxContext outboxContext, ILogger <Startup> logger) { // XRAY - EFCore - AsyncLocal Problems string traceId = TraceId.NewId(); AWSXRayRecorder.Instance.BeginSegment("DB Migration", traceId); try { logger.LogInformation("Initializing AppUserContext Database Migration."); appUserContext.Database.Migrate(); logger.LogInformation("Finishing AppUserContext Database Migration..."); logger.LogInformation("Initializing OutboxContext Database Migration."); outboxContext.Database.Migrate(); logger.LogInformation("Finishing OutboxContext Database Migration..."); } catch (Exception) { AWSXRayRecorder.Instance.AddException(e); } finally { AWSXRayRecorder.Instance.EndSegment(); } }
public OutboxRepository(ILogger <OutboxRepository> logger, OutboxSettings settings, OutboxContext context) { Logger = logger; Settings = settings; Context = context; }
/// <summary> /// Creates an send endpoint on the outbox /// </summary> /// <param name="outboxContext">The outbox context for this consume operation</param> /// <param name="endpoint">The actual endpoint returned by the transport</param> public OutboxSendEndpoint(OutboxContext outboxContext, ISendEndpoint endpoint) { _outboxContext = outboxContext; _endpoint = endpoint; }
public InMemoryOutboxPublishEndpointProvider(OutboxContext outboxContext, IPublishEndpointProvider publishEndpointProvider) { _outboxContext = outboxContext; _publishEndpointProvider = publishEndpointProvider; }
public OutboxPublishEndpoint(OutboxContext outboxContext, IPublishEndpoint publishEndpoint) { _outboxContext = outboxContext; _publishEndpoint = publishEndpoint; }
public OutboxStore(OutboxContext outboxContext) { _outboxContext = outboxContext; }
public InMemoryOutboxSendEndpointProvider(OutboxContext outboxContext, ISendEndpointProvider sendEndpointProvider) { _outboxContext = outboxContext; _sendEndpointProvider = sendEndpointProvider; }