public static async Task Main(string[] args) { // Create the LiteDb database so we can work with some default movies. Database.Setup(); var host = Host.CreateDefaultBuilder(args); // Configure web-host. host.ConfigureWebHostDefaults(c => c.UseStartup <Startup>()); // Configure NServiceBus host.UseNServiceBus(hostBuilderContext => { var endpointConfiguration = new EndpointConfiguration("EventualConsistencyDemo"); endpointConfiguration.ApplyCommonConfiguration(routingConfig => { routingConfig.RouteToEndpoint(typeof(Shared.Commands.SubmitOrder), "server"); }); return(endpointConfiguration); }); await host.Build().RunAsync(); }
public static async Task AsyncMain(CancellationToken cancellationToken) { Console.Title = "Samples.Store.CustomerRelations"; var endpointConfiguration = new EndpointConfiguration("Store.CustomerRelations"); endpointConfiguration.ApplyCommonConfiguration( transport => { var routing = transport.Routing(); routing.RegisterPublisher(typeof(ClientBecamePreferred).Assembly, "Store.Messages.Events", "Store.Sales"); routing.RegisterPublisher(typeof(ClientBecamePreferred), "Store.CustomerRelations"); }); var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); while (!cancellationToken.IsCancellationRequested) { await Task.Delay(3000, cancellationToken) .ConfigureAwait(false); } await endpointInstance.Stop() .ConfigureAwait(false); }
static async Task Main() { Console.Title = "UnreliableServiceEndpoint"; var endpointConfiguration = new EndpointConfiguration("UnreliableServiceEndpoint"); endpointConfiguration.ApplyCommonConfiguration().RegisterRoutes(); endpointConfiguration.Recoverability() .Immediate(retries => retries.NumberOfRetries(1)) .Delayed(delayed => delayed.NumberOfRetries(0)); //allows you to see error queue operation with ServicePulse var client = new HttpClient { BaseAddress = new Uri(ServerInfo.UnreliableServiceBaseAddress), Timeout = TimeSpan.FromSeconds(5) }; endpointConfiguration.RegisterComponents(c => c.RegisterSingleton(client)); endpointConfiguration.ReportCustomChecksTo("Particular.ServiceControl"); var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); Console.WriteLine("Press any key to exit"); Console.ReadKey(); await endpointInstance.Stop() .ConfigureAwait(false); }
static async Task Main(string[] args) { var serviceName = typeof(Program).Namespace; Console.Title = serviceName; var config = new EndpointConfiguration(serviceName); config.ApplyCommonConfiguration(); config.ReportCustomChecksTo(serviceControlQueue: "Particular.ServiceControl"); var recoverabilityConfig = config.Recoverability(); recoverabilityConfig.Immediate(immediate => { immediate.NumberOfRetries(1); }); recoverabilityConfig.Delayed(delayed => { delayed.NumberOfRetries(1); delayed.TimeIncrease(TimeSpan.FromSeconds(5)); }); var endpointInstance = await Endpoint.Start(config); Console.WriteLine($"{serviceName} sarted. Press any key to stop."); Console.ReadLine(); await endpointInstance.Stop(); }
// This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddSignalR(); var builder = new ContainerBuilder(); builder.Populate(services); builder.Register(c => endpoint) .As <IEndpointInstance>() .SingleInstance(); var container = builder.Build(); var endpointConfiguration = new EndpointConfiguration("Store.ECommerce"); endpointConfiguration.PurgeOnStartup(true); endpointConfiguration.ApplyCommonConfiguration(transport => { var routing = transport.Routing(); routing.RouteToEndpoint(typeof(Store.Messages.Commands.SubmitOrder).Assembly, "Store.Messages.Commands", "Store.Sales"); }); endpointConfiguration.UseContainer <AutofacBuilder>( customizations: customizations => { customizations.ExistingLifetimeScope(container); }); endpoint = Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult(); return(new AutofacServiceProvider(container)); }
public static IHostBuilder CreateWebHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseNServiceBus(ctx => { var config = new EndpointConfiguration("Webapp"); config.ApplyCommonConfiguration(); return(config); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup <Startup>(); });
static async Task AsyncStart() { var endpointConfiguration = new EndpointConfiguration("Store.ECommerce"); endpointConfiguration.PurgeOnStartup(true); endpointConfiguration.ApplyCommonConfiguration(); EndpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); }
static async Task Main() { Console.Title = "ValidationEndpoint"; var endpointConfiguration = new EndpointConfiguration("ValidationEndpoint"); endpointConfiguration.ApplyCommonConfiguration(); var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); Console.WriteLine("Press any key to exit"); Console.ReadKey(); await endpointInstance.Stop() .ConfigureAwait(false); }
public void Configuration(IAppBuilder appBuilder) { var bootstrapper = new WindsorBootstrapper(AppDomain.CurrentDomain.BaseDirectory, filter: "Marketing*.*"); var container = bootstrapper.Boot(); var store = CommonConfiguration.CreateEmbeddableDocumentStore("Marketing", session => { SeedData.Products().ForEach(s => session.Store(s)); session.Store(SeedData.HomeStructure()); }); container.Register(Component.For <IDocumentStore>().Instance(store).LifestyleSingleton()); var endpointConfiguration = new EndpointConfiguration("Marketing"); endpointConfiguration.UseContainer <WindsorBuilder>(c => c.ExistingContainer(container)); endpointConfiguration.ApplyCommonConfiguration(); endpointConfiguration.UseRavenPersistence(store); endpointConfiguration.LimitMessageProcessingConcurrencyTo(1); //var timeoutManager = endpointConfiguration.TimeoutManager(); //timeoutManager.LimitMessageProcessingConcurrencyTo(4); var endpoint = Endpoint.Start(endpointConfiguration).GetAwaiter().GetResult(); container.Register(Component.For <IMessageSession>().Instance(endpoint)); var config = new HttpConfiguration(); config.Formatters.Clear(); config.Formatters.Add(new JsonMediaTypeFormatter()); config.DependencyResolver = new WindsorDependencyResolver(container); config.Formatters .JsonFormatter .SerializerSettings .ContractResolver = new CamelCasePropertyNamesContractResolver(); config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); appBuilder.UseCors(CorsOptions.AllowAll); appBuilder.UseWebApi(config); }
static async Task AsyncStart() { EndpointConfiguration endpointConfiguration = new EndpointConfiguration("Store.ECommerce"); endpointConfiguration.PurgeOnStartup(true); endpointConfiguration.ApplyCommonConfiguration(); endpointConfiguration.SendFailedMessagesTo("error"); Endpoint = await NServiceBus.Endpoint.Start(endpointConfiguration); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); }
static async Task AsyncStart() { var endpointConfiguration = new EndpointConfiguration("Store.ECommerce"); endpointConfiguration.PurgeOnStartup(true); endpointConfiguration.ApplyCommonConfiguration(); EndpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); }
static async Task AsyncMain() { Console.Title = "Samples.Store.CustomerRelations"; var endpointConfiguration = new EndpointConfiguration("Store.CustomerRelations"); endpointConfiguration.ApplyCommonConfiguration(); var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); Console.WriteLine("Press any key to exit"); Console.ReadKey(); await endpointInstance.Stop() .ConfigureAwait(false); }
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureLogging((hostingContext, loggingBuilder) => { loggingBuilder.AddConfiguration(hostingContext.Configuration.GetSection("Logging")); }) .UseNServiceBus(ctx => { var endpointConfiguration = new EndpointConfiguration("WebApp"); endpointConfiguration.ApplyCommonConfiguration(); return(endpointConfiguration); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup <Startup>(); });
static async Task Main() { Console.Title = "BatchDataItemProcessingEndpoint"; var endpointConfiguration = new EndpointConfiguration("BatchDataItemProcessingEndpoint"); endpointConfiguration.ApplyCommonConfiguration().RegisterRoutes(); var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); Console.WriteLine("Press any key to exit"); Console.ReadKey(); await endpointInstance.Stop() .ConfigureAwait(false); }
public static IHostBuilder BuildWebHost(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(c => c.UseStartup <Startup>()) .UseNServiceBus(c => { var endpointConfiguration = new EndpointConfiguration("Store.ECommerce"); endpointConfiguration.PurgeOnStartup(true); endpointConfiguration.ApplyCommonConfiguration(transport => { var routing = transport.Routing(); routing.RouteToEndpoint(typeof(Messages.Commands.SubmitOrder).Assembly, "Store.Messages.Commands", "Store.Sales"); }); return(endpointConfiguration); });
static async Task AsyncStart() { EndpointConfiguration endpointConfiguration = new EndpointConfiguration("Store.ECommerce"); endpointConfiguration.PurgeOnStartup(true); endpointConfiguration.ApplyCommonConfiguration(); endpointConfiguration.SendFailedMessagesTo("error"); Endpoint = await NServiceBus.Endpoint.Start(endpointConfiguration); AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); }
static async Task AsyncMain() { Console.Title = "Samples.Store.CustomerRelations"; EndpointConfiguration endpointConfiguration = new EndpointConfiguration("Store.CustomerRelations"); endpointConfiguration.ApplyCommonConfiguration(); endpointConfiguration.SendFailedMessagesTo("error"); IEndpointInstance endpoint = await Endpoint.Start(endpointConfiguration); try { Console.WriteLine("Press any key to exit"); Console.ReadKey(); } finally { await endpoint.Stop(); } }
public static async Task AsyncMain(CancellationToken cancellationToken) { Console.Title = "Samples.Store.Operations"; var endpointConfiguration = new EndpointConfiguration("Store.Operations"); endpointConfiguration.ApplyCommonConfiguration(); var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); while (!cancellationToken.IsCancellationRequested) { await Task.Delay(3000, cancellationToken) .ConfigureAwait(false); } await endpointInstance.Stop() .ConfigureAwait(false); }
static async Task AsyncMain() { EndpointConfiguration endpointConfiguration = new EndpointConfiguration(); endpointConfiguration.EndpointName("Store.ContentManagement"); endpointConfiguration.ApplyCommonConfiguration(); endpointConfiguration.SendFailedMessagesTo("error"); IEndpointInstance endpoint = await Endpoint.Start(endpointConfiguration); try { Console.WriteLine("Press any key to exit"); Console.ReadKey(); } finally { await endpoint.Stop(); } }
static async Task AsyncMain() { Console.Title = "Samples.Store.ContentManagement"; var endpointConfiguration = new EndpointConfiguration("Store.ContentManagement"); endpointConfiguration.ApplyCommonConfiguration(transport => { var routing = transport.Routing(); routing.RouteToEndpoint(typeof(Store.Messages.RequestResponse.ProvisionDownloadRequest), "Store.Operations"); }); var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); Console.WriteLine("Press any key to exit"); Console.ReadKey(); await endpointInstance.Stop() .ConfigureAwait(false); }
static async Task AsyncMain() { Console.Title = "Samples.Store.Operations"; EndpointConfiguration endpointConfiguration = new EndpointConfiguration("Store.Operations"); endpointConfiguration.ApplyCommonConfiguration(); endpointConfiguration.SendFailedMessagesTo("error"); IEndpointInstance endpoint = await Endpoint.Start(endpointConfiguration); try { Console.WriteLine("Press any key to exit"); Console.ReadKey(); } finally { await endpoint.Stop(); } }
static async Task AsyncMain() { Console.Title = "Samples.Store.Sales"; var endpointConfiguration = new EndpointConfiguration("Store.Sales"); endpointConfiguration.ApplyCommonConfiguration(); var endpointInstance = await Endpoint.Start(endpointConfiguration) .ConfigureAwait(false); try { Console.WriteLine("Press any key to exit"); Console.ReadKey(); } finally { await endpointInstance.Stop() .ConfigureAwait(false); } }
static async Task AsyncMain() { EndpointConfiguration endpointConfiguration = new EndpointConfiguration(); endpointConfiguration.EndpointName("Store.ContentManagement"); endpointConfiguration.ApplyCommonConfiguration(); endpointConfiguration.SendFailedMessagesTo("error"); IEndpointInstance endpoint = await Endpoint.Start(endpointConfiguration); try { Console.WriteLine("Press any key to exit"); Console.ReadKey(); } finally { await endpoint.Stop(); } }
static async Task MainAsync() { Console.Title = "EndpointB - Finance"; var endpointConfiguration = new EndpointConfiguration("Finance"); endpointConfiguration.ApplyCommonConfiguration(); // Routing var transport = endpointConfiguration.UseTransport <LearningTransport>(); transport.Routing().RouteToEndpoint(typeof(CreateInvoiceProposals).Assembly, "InvoiceProcessing"); transport.Routing().RouteToEndpoint(typeof(CreateInvoice).Assembly, "Finance"); var endpoint = await Endpoint.Start(endpointConfiguration); Console.WriteLine("Press a key to quit..."); Console.ReadKey(); await endpoint.Stop(); }
static async Task Main(string[] args) { var serviceName = typeof(Program).Namespace; Console.Title = serviceName; var config = new EndpointConfiguration(serviceName); config.ApplyCommonConfiguration(configureRouting: routing => { routing.RouteToEndpoint(typeof(AuthorizeCard), "Finance.PaymentGateway"); routing.RouteToEndpoint(typeof(ReleaseCardAuthorization), "Finance.PaymentGateway"); routing.RouteToEndpoint(typeof(ChargeCard), "Finance.PaymentGateway"); }); var endpointInstance = await Endpoint.Start(config); Console.WriteLine($"{serviceName} started. Press any key to stop."); Console.ReadLine(); await endpointInstance.Stop(); }