示例#1
0
    static async Task AsyncMain()
    {
        #region logging
        DefaultFactory defaultFactory = LogManager.Use <DefaultFactory>();
        defaultFactory.Level(LogLevel.Fatal);
        #endregion
        BusConfiguration busConfiguration = new BusConfiguration();
        busConfiguration.EndpointName("Samples.Logging.Default");
        busConfiguration.SendFailedMessagesTo("error");
        busConfiguration.UseSerialization <JsonSerializer>();
        busConfiguration.EnableInstallers();
        busConfiguration.UsePersistence <InMemoryPersistence>();

        IEndpointInstance endpoint = await Endpoint.Start(busConfiguration);

        try
        {
            IBusContext busContext = endpoint.CreateBusContext();
            await busContext.SendLocal(new MyMessage());

            Console.WriteLine("Press any key to exit");
            Console.ReadKey();
        }
        finally
        {
            await endpoint.Stop();
        }
    }
示例#2
0
    static async Task AsyncMain()
    {
        Console.Title = "Samples.Notifications";
        #region logging
        DefaultFactory defaultFactory = LogManager.Use <DefaultFactory>();
        defaultFactory.Level(LogLevel.Fatal);
        #endregion
        #region endpointConfig
        EndpointConfiguration endpointConfiguration = new EndpointConfiguration("Samples.Notifications");
        SubscribeToNotifications.Subscribe(endpointConfiguration);
        #endregion

        endpointConfiguration.SendFailedMessagesTo("error");
        endpointConfiguration.UseSerialization <JsonSerializer>();
        endpointConfiguration.EnableInstallers();
        endpointConfiguration.UsePersistence <InMemoryPersistence>();


        IEndpointInstance endpoint = await Endpoint.Start(endpointConfiguration);

        try
        {
            await endpoint.SendLocal(new MyMessage());

            Console.WriteLine("Press any key to exit");
            Console.ReadKey();
        }
        finally
        {
            await endpoint.Stop();
        }
    }
示例#3
0
        static void Main(string[] args)
        {
            var stopWatch = new Stopwatch();

            stopWatch.Start();
            DefaultFactory defaultFactory = LogManager.Use <DefaultFactory>();

            defaultFactory.Level(LogLevel.Fatal);

            var configuration = new BusConfiguration();

            configuration.EndpointName("Chocolate.Facility.Producer");

            configuration.UseTransport <MsmqTransport>();
            configuration.UsePersistence <InMemoryPersistence>();

            var bus = Bus.Create(configuration).Start();

            stopWatch.Stop();

            Console.WriteLine($"Initalizing the bus took { stopWatch.Elapsed.ToString("G")}");
            stopWatch.Reset();
            stopWatch.Start();
            Syncher.SyncEvent.Wait();
            stopWatch.Stop();
            Console.WriteLine($"Receiving #{ Syncher.SyncEvent.InitialCount } of msgs over the bus took { stopWatch.Elapsed.ToString("G")}");

            Console.ReadLine();
        }
示例#4
0
        static void Main(string[] args)
        {
            var stopWatch = new Stopwatch();
            stopWatch.Start();
            DefaultFactory defaultFactory = LogManager.Use<DefaultFactory>();
            defaultFactory.Level(LogLevel.Fatal);

            var configuration = new EndpointConfiguration("Chocolate.Facility.Producer");

            configuration.UseTransport<MsmqTransport>();
            configuration.UsePersistence<InMemoryPersistence>();
            configuration.EnableInstallers();
            configuration.LimitMessageProcessingConcurrencyTo(Constants.MaxConcurrency);

            var bus = Endpoint.Start(configuration).GetAwaiter().GetResult();
            stopWatch.Stop();

            Console.WriteLine($"Initalizing the bus took { stopWatch.Elapsed.ToString("G")}");
            stopWatch.Reset();
            stopWatch.Start();
            Syncher.SyncEvent.Wait();
            stopWatch.Stop();
            Console.WriteLine($"Receiving #{ Syncher.SyncEvent.InitialCount } of msgs over the bus took { stopWatch.Elapsed.ToString("G")}");

            Console.ReadLine();
        }
示例#5
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            TaskScheduler.UnobservedTaskException      += TaskScheduler_UnobservedTaskException;

            var stopWatch = new Stopwatch();

            stopWatch.Start();
            DefaultFactory defaultFactory = LogManager.Use <DefaultFactory>();

            defaultFactory.Level(LogLevel.Debug);

            var configuration = new BusConfiguration();

            configuration.EndpointName("NServiceBusV5.AsyncVoid");

            configuration.UseTransport <MsmqTransport>();
            configuration.UsePersistence <InMemoryPersistence>();

            var bus = Bus.Create(configuration).Start();

            bus.SendLocal(new AcquireVanilla());

            Console.ReadLine();
        }
        void ChangingLevel()
        {
            #region OverrideLoggingLevelInCode

            DefaultFactory defaultFactory = LogManager.Use <DefaultFactory>();
            defaultFactory.Level(LogLevel.Debug);

            #endregion
        }
    public void ChangingDefaults()
    {
        #region OverrideLoggingDefaultsInCode

        DefaultFactory defaultFactory = LogManager.Use <DefaultFactory>();
        defaultFactory.Directory("pathToLoggingDirectory");
        defaultFactory.Level(LogLevel.Debug);

        #endregion
    }
示例#8
0
        static void Main(string[] args)
        {
            var stopWatch = new Stopwatch();

            stopWatch.Start();
            DefaultFactory defaultFactory = LogManager.Use <DefaultFactory>();

            defaultFactory.Level(LogLevel.Error);

            var configuration = new EndpointConfiguration("Chocolate.Facility");

            configuration.UseTransport <MsmqTransport>();
            configuration.UsePersistence <InMemoryPersistence>();
            configuration.EnableInstallers();
            configuration.LimitMessageProcessingConcurrencyTo(Constants.MaxConcurrency);

            var bus = Endpoint.Start(configuration).GetAwaiter().GetResult();

            stopWatch.Stop();

            Console.WriteLine($"Initalizing the bus took { stopWatch.Elapsed.ToString("G")}");
            stopWatch.Reset();

            var destination = "Chocolate.Facility.Producer";

            stopWatch.Start();

            var tasks = new List <Task>();

            for (int i = 0; i < 8; i++)
            {
                var task = Task.Run(async() =>
                {
                    for (int j = 0; j < Constants.NumberOfMessages / 8; j++)
                    {
                        await bus.Send(destination, new ProduceChocolateBar {
                            LotNumber = j, MaxLotNumber = Constants.NumberOfMessages
                        }).ConfigureAwait(false);
                    }
                });
                tasks.Add(task);
            }

            Task.WhenAll(tasks).GetAwaiter().GetResult();
            stopWatch.Stop();
            Console.WriteLine($"Sending #{ Constants.NumberOfMessages } of msgs over the bus took { stopWatch.Elapsed.ToString("G")}");

            Console.ReadLine();
        }
示例#9
0
        static void Main(string[] args)
        {
            DefaultFactory defaultFactory = LogManager.Use <DefaultFactory>();

            defaultFactory.Level(LogLevel.Error);

            var configuration = new BusConfiguration();

            configuration.EndpointName("Chocolate.Grinding");

            configuration.UseTransport <MsmqTransport>();
            configuration.UsePersistence <InMemoryPersistence>();

            var bus = Bus.Create(configuration).Start();

            Console.ReadLine();
        }
示例#10
0
    static void Main()
    {
        #region logging
        DefaultFactory defaultFactory = LogManager.Use <DefaultFactory>();
        defaultFactory.Level(LogLevel.Fatal);
        #endregion
        BusConfiguration busConfiguration = new BusConfiguration();
        busConfiguration.EndpointName("Samples.Logging.Default");
        busConfiguration.UseSerialization <JsonSerializer>();
        busConfiguration.EnableInstallers();
        busConfiguration.UsePersistence <InMemoryPersistence>();

        using (IBus bus = Bus.Create(busConfiguration).Start())
        {
            bus.SendLocal(new MyMessage());
            Console.WriteLine("Press any key to exit");
            Console.ReadKey();
        }
    }
示例#11
0
        static void Main(string[] args)
        {
            // Force DB creation outside of TxScope
            File.Delete(@".\Vanilla.sdf");
            Database.SetInitializer(new CreateDatabaseIfNotExists <VanillaContext>());
            var context = new VanillaContext();

            context.Database.CreateIfNotExists();

            var serviceHost = new ServiceHost(typeof(VanillaService));

            serviceHost.AddServiceEndpoint(typeof(IVanillaService), new NetTcpBinding(),
                                           Constants.VanillaServiceAddress.Uri);
            serviceHost.Open();

            DefaultFactory defaultFactory = LogManager.Use <DefaultFactory>();

            defaultFactory.Level(LogLevel.Error);

            var container = new Container(x =>
            {
                x.ForConcreteType <VanillaContext>().Configure.SetLifecycleTo(Lifecycles.ThreadLocal);
                x.ForConcreteType <Communicator>().Configure.SetLifecycleTo(Lifecycles.Transient);
            });

            var configuration = new BusConfiguration();

            configuration.EndpointName("Chocolate.Blending");

            configuration.Transactions().DoNotWrapHandlersExecutionInATransactionScope();
            configuration.UseTransport <MsmqTransport>();
            configuration.UsePersistence <InMemoryPersistence>();
            configuration.UseContainer <StructureMapBuilder>(c => c.ExistingContainer(container));

            var bus = Bus.Create(configuration).Start();

            Console.ReadLine();

            bus.Dispose();
            serviceHost.Close();
        }
示例#12
0
        public static ISendOnlyBus Start()
        {
            DefaultFactory defaultFactory = LogManager.Use <DefaultFactory>();

            defaultFactory.Level(LogLevel.Error);

            var configuration = new BusConfiguration();

            configuration.EndpointName("Chocolate.Facility.Web");

            configuration.UseTransport <MsmqTransport>();
            configuration.UsePersistence <InMemoryPersistence>();

            var bus = Bus.CreateSendOnly(configuration);

            var currentResolver = DependencyResolver.Current;

            DependencyResolver.SetResolver(new SimpleTypeResolver(currentResolver, bus));

            return(bus);
        }