public void Start(int maximumConcurrencyLevel)
        {
            Logger.InfoFormat("Starting MessageReceiver for [{0}].", endpointAddress);

            scheduler = new MTATaskScheduler(maximumConcurrencyLevel,
                                             String.Format("MessageReceiver Worker Thread for [{0}]",
                                                           endpointAddress));

            for (int i = 0; i < maximumConcurrencyLevel; i++)
            {
                StartConsumer();
            }

            Logger.InfoFormat(" MessageReceiver for [{0}] started with {1} worker threads.", endpointAddress,
                              maximumConcurrencyLevel);
        }
        public void ReceiveSend2Multi()
        {
            List <Task>             tasks  = new List <Task>();
            CancellationTokenSource source = new CancellationTokenSource();
            var mtaTaskScheduler           = new MTATaskScheduler(30, "dsfsd");

            for (int i = 0; i < 30; i++)
            {
                tasks.Add(
                    Task.Factory.StartNew(() => ReceiveSend2(source.Token), CancellationToken.None, TaskCreationOptions.None, mtaTaskScheduler));
            }

            Thread.Sleep(3000);
            source.Cancel();

            Task.WaitAll(tasks.ToArray());
        }
Exemple #3
0
        public void Start(string address, int numWorkerThreads)
        {
            tokenSource = new CancellationTokenSource();
            listener    = new HttpListener();

            listener.Prefixes.Add(address);

            scheduler = new MTATaskScheduler(numWorkerThreads, String.Format("NServiceBus Gateway Channel Receiver Thread for [{0}]", address));

            try
            {
                listener.Start();
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Failed to start listener for {0} make sure that you have admin privileges", address), ex);
            }

            var token = tokenSource.Token;

            Task.Factory.StartNew(HttpServer, token, token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
        }
        public void Start(string address, int numberOfWorkerThreads)
        {
            tokenSource = new CancellationTokenSource();
            listener = new HttpListener();

            listener.Prefixes.Add(address);

            scheduler = new MTATaskScheduler(numberOfWorkerThreads, String.Format("NServiceBus Gateway Channel Receiver Thread for [{0}]", address));

            try
            {
                listener.Start();
            }
            catch (Exception ex)
            {
                var message = string.Format("Failed to start listener for {0} make sure that you have admin privileges", address);
                throw new Exception(message,ex);
            }

            var token = tokenSource.Token;
            Task.Factory.StartNew(HttpServer, token, token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
        }