using Billing; using Billing.Contracts; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Hosting; using NServiceBus; using Sales; using Sales.Contracts; using Shipping; using Shipping.Contracts; namespace AspNetCore { public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseNServiceBus(_ => { var endpointConfiguration = new EndpointConfiguration("DistributedTracingDemo"); endpointConfiguration.SendOnly(); var transport = endpointConfiguration.UseTransport<LearningTransport>(); endpointConfiguration.UsePersistence<LearningPersistence>(); var routing = transport.Routing(); routing.RouteToEndpoint( assembly: typeof(OrderPlaced).Assembly, destination: "Sales"); routing.RouteToEndpoint( assembly: typeof(OrderBilled).Assembly, destination: "Billing"); routing.RouteToEndpoint( assembly: typeof(ShippingLabelCreated).Assembly, destination: "Shipping"); return endpointConfiguration; }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }); } }