Exemplo n.º 1
0
        public void Test()
        {
            var errorQueue = new MsmqQueue <Object>(new QueueName("PSB.App1.Error"));
            var queue      = new MsmqQueue <Object>(new QueueName("PSB.App1.Input"));

            queue.Send(new SimpleMessage3()
            {
                Id = Guid.NewGuid(), Text = "lyapsya2!"
            });

            var waitHandle = new AutoResetEvent(false);

            queue.MoveToErrorQueue(errorQueue)
            .StopAfter(1)
            .Subscribe(obj =>
            {
                Console.WriteLine("Message received");
            }, () => waitHandle.Set());

            queue.Start();

            Console.WriteLine("After subscribe");

            waitHandle.WaitOne(5000);

            Thread.Sleep(3000);
        }
 private void CloseQueue()
 {
     if (this.msmqQueue != null)
     {
         this.msmqQueue.Dispose();
     }
     this.msmqQueue = null;
 }
 void CloseQueue()
 {
     if (null != this.msmqQueue)
     {
         this.msmqQueue.Dispose();
     }
     this.msmqQueue = null;
 }
Exemplo n.º 4
0
        protected override void TestSetUp()
        {
            base.TestSetUp();

            inboxQueue  = new MsmqQueue(new Uri("msmq://./sit_inbox"), true);
            outboxQueue = new MsmqQueue(new Uri("msmq://./sit_outbox"), true);

            inboxQueue.Create();
            outboxQueue.Create();
        }
Exemplo n.º 5
0
 public static IObservable <T> MoveToErrorQueue <T>(this MsmqQueue <T> observable, MsmqQueue <T> errorQueue)
 {
     return(Observable.Create <T>(ob =>
     {
         return observable.Subscribe(
             i => ob.OnNext(i),
             x => {},
             () => ob.OnCompleted());
     }));
 }
 private void OpenQueue()
 {
     try
     {
         this.msmqQueue = new MsmqQueue(this.factory.AddressTranslator.UriToFormatName(this.RemoteAddress.Uri), 2);
     }
     catch (MsmqException exception)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(exception.Normalized);
     }
     if (this.factory.ExactlyOnce)
     {
         this.transactionMode = MsmqTransactionMode.CurrentOrSingle;
     }
     else
     {
         this.transactionMode = MsmqTransactionMode.None;
     }
 }