static void Main(string[] args) { Console.WriteLine("Listerner Starting"); QueueListener listner = new QueueListener(); listner.DataReceived += listner_DataReceived; listner.Start(); }
//static QListener _queue=new QListener(); static void Main(string[] args) { Console.WriteLine("QueueTasksDemo started..."); var watch = Stopwatch.StartNew(); QueueListener <LogItem> _queue = new QueueListener <LogItem>(MessageReceivedAction <LogItem>); //_queue.MessageReceived += new MControl.Generic.GenericEventHandler<LogItem>(_queue_MessageReceived); _queue.Start(); int counter = 0; int items = 0; while (_queue.IsAlive) { if (++counter > 200) { break; } // Add some log messages in parallel... Task.Factory.StartNew(() => _queue.Enqueue(new LogItem("Log from task A"))); Task.Factory.StartNew(() => _queue.Enqueue(new LogItem("Log from task B"))); Task.Factory.StartNew(() => _queue.Enqueue(new LogItem("Log from task B1"))); Task.Factory.StartNew(() => _queue.Enqueue(new LogItem("Log from task C"))); Task.Factory.StartNew(() => _queue.Enqueue(new LogItem("Log from task D"))); items += 5; // Pretend to do other things... Thread.Sleep(100); } while (_queue.Count > 0) { Thread.Sleep(100); } //_queue.Start(); //QTest.Invoke(_queue,200); watch.Stop(); Console.WriteLine("Duration: {0}", watch.ElapsedMilliseconds); Console.WriteLine("Items per second : {0}", (float)items / (watch.ElapsedMilliseconds / 1000)); Console.WriteLine("QueueTasksDemo waiting..."); Console.ReadKey(); _queue.Stop(); Console.WriteLine("QueueTasksDemo finished..."); Console.ReadKey(); }
public static void DoListnning(QueueHost host) { var adapter = new QueueAdapter() { Source = host, IsAsync = true, //Interval = 100, ConnectTimeout = 5000, ReadTimeout = 180000, WorkerCount = 1, EnableDynamicWait = true, QueueAction = (message) => { Console.WriteLine("State:{0},Arrived:{1},Host:{2},Label:{3}, Identifier:{4}, Duration:{5}", message.MessageState, message.ArrivedTime.ToString("yyyy-MM-dd HH:mm:ss.fff"), message.Host, message.Label, message.Identifier, message.Duration); var body = message.GetBody(); string sbody = body == null ? "null" : body.ToString(); Console.WriteLine("body: " + sbody); }, FaultAction = (message) => { Console.WriteLine(message); } }; QueueListener listener = new QueueListener(adapter, 100); string logpath = NetlogSettings.GetDefaultPath("qlistener"); listener.Logger = new Logger(logpath); //listener.ErrorOcurred += Listener_ErrorOcurred; //listener.MessageReceived += Listener_MessageReceived; listener.Start(); //QueueApi api = new QueueApi(host); //api.ReceiveCompleted += api_ReceiveCompleted; ////api.Listener(10000, message_ReceiveCompleted); //bool KeepAlive = true; //int connectTimeout=10000; // while (KeepAlive) // { // api.Receive(connectTimeout,message_ReceiveCompleted); // Thread.Sleep(100); // } //Console.WriteLine("QueueListener finished..."); //Console.ReadLine(); }