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()); }
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); }