Beispiel #1
0
        private DistributedLuceneActivity.LuceneActivityDistributor CheckLucMessage(System.Messaging.Message recvmessage)
        {
            var formatter   = new BinaryMessageFormatter();
            var lucmessage  = formatter.Deserialize(recvmessage.Body as Stream) as DistributedLuceneActivity.LuceneActivityDistributor;
            var recactivity = lucmessage.Activity as TestLuceneActivity;

            Assert.IsTrue(recactivity != null, "Received message differs from message that was sent.");  // check if we received the message that we have sent
            return(lucmessage);
        }
Beispiel #2
0
        public void Received(string data)
        {
            try
            {
                var formatter = new BinaryMessageFormatter();
                var message   = formatter.Deserialize <Message>(data);
                Console.WriteLine("{0}: {1}", message.From, message.Text);

                //byte[] b = System.Text.Encoding.UTF8.GetBytes(data);
                //using (MemoryStream ms = new MemoryStream(b))
                //{
                //    var message = formatter.Deserialize(ms);
                //    //var message = (Message)formatter.Deserialize(stream.BaseStream);
                //    //Console.WriteLine("{0}: {1}", message.From, message.Text);
                //}
                //var message = JsonConvert.DeserializeObject<Message>(data);
                //Console.WriteLine("{0}: {1}", message.From, message.Text);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error: {0}", ex.Message);
            }
        }
Beispiel #3
0
        public void Msmq_Send()
        {
            var msmq = DistributedApplication.ClusterChannel as MsmqChannelProvider;

            // init: purge queues
            msmq._receiveQueue.Purge();
            for (var i = 0; i < msmq._sendQueues.Count; i++)
            {
                var sendqueue = msmq._sendQueues[i];
                sendqueue.Purge();
            }

            // distribute a single message, and check remote queues if message arrived
            var msg = new TestMessage();

            msg.Send();

            var formatter = new BinaryMessageFormatter();

            try
            {
                for (var i = 0; i < msmq._sendQueues.Count; i++)
                {
                    var sendqueue   = msmq._sendQueues[i];
                    var recvmsg     = sendqueue.Receive(TimeSpan.FromSeconds(3));
                    var recvtestmsg = formatter.Deserialize(recvmsg.Body as Stream) as TestMessage;
                    Assert.IsTrue(recvtestmsg.Message == msg.Message, "Received message differs from message that was sent.");  // check if we received the message that we have sent
                }
            }
            catch (System.Messaging.MessageQueueException mex)
            {
                if (mex.MessageQueueErrorCode == System.Messaging.MessageQueueErrorCode.IOTimeout)
                {
                    Assert.Fail("Receiving test message from remote queue timed out.");
                }
            }
        }