public LogResponse WriteLog(LogRequest request)
        {
            LogResponse response = new LogResponse();

            try
            {
                var message = new MessageBase <LogEvent>();

                message.Guid    = request.Guid;
                message.Content = request.LogEvent;

                msmq.Enqueue(message);

                response.Message = string.Format("Message {0} is in queue now.", request.Guid);
            }
            catch (Exception ex)
            {
                LocalLog.Error(ex.ToString());

                var fault = new FaultData {
                    Message = ex.ToString()
                };
                var reason = new FaultReason("WriteLog发生异常");

                throw new FaultException <FaultData>(fault, reason);
            }

            return(response);
        }
示例#2
0
        public void TestMethod1()
        {
            var msmq = new Msmq <MessageBase <string> >(ConfigurationManager.AppSettings["RantaLogQueue"]);

            var message = new MessageBase <string> {
                Guid = Guid.NewGuid(), Content = "Hello World"
            };

            msmq.Enqueue(message);

            var message2 = msmq.Dequeue();

            Assert.IsNotNull(message2);

            Assert.AreEqual(message.Guid, message2.Guid);
            Assert.AreEqual(message.Content, message2.Content);
        }