基本信息
源码名称:MSMQ 消息队列插入删除操作方法
源码大小:1.25M
文件格式:.zip
开发语言:C#
更新时间:2018-10-16
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 4 元 
   源码介绍
   通过C# 调用MSMQ 微软消息队列



 /// <summary>
        /// 初始化MSMQ队列 
        /// </summary>
        private void InitActiveEventMSMQ()
        {
            if (MessageQueue.Exists(strmsmqWord))
            {
                m_activeEventMSMQ = new MessageQueue(strmsmqWord);
            }
            else
            {
                m_activeEventMSMQ = MessageQueue.Create(strmsmqWord);
                m_activeEventMSMQ.SetPermissions("Everyone", MessageQueueAccessRights.FullControl);
            }
            m_activeEventMSMQ.Formatter = new XmlMessageFormatter(new[] { typeof(NotificationEntity) });

        }

 

 

 public void DeleMemqInfo()
        {
            dtStart = DateTime.Now;
            lblstart.Text = DateTime.Now.ToString("yyyy-MM-dd hh:m:ss");
            this._Logger.InfoFormat("测试信息--开始");
            try
            {
                if (m_activeEventMSMQ == null) return;
                string strInfo = string.Empty;
                while (m_activeEventMSMQ.GetAllMessages().Length > 0)
                {
                    MessageEnumerator msgEnumerator = m_activeEventMSMQ.GetMessageEnumerator2();
                    while (msgEnumerator.MoveNext(m_timeSpan))
                    {
                        System.Messaging.Message msg = m_activeEventMSMQ.PeekById(msgEnumerator.Current.Id);
                        if (msg == null) break;                     
                        m_activeEventMSMQ.ReceiveById(msg.Id);                     
                    }
                }
            }
            catch (Exception ex1)
            {
                _Logger.Error(ex1);
            }

            this._Logger.InfoFormat("测试信息--结束");
            dtEnd = DateTime.Now;
            lblEnd.Text = DateTime.Now.ToString("yyyy-MM-dd hh:m:ss");
            TimeSpan ts = dtEnd - dtStart;
            lblResult.Text = "用时秒:" Math.Round(ts.TotalSeconds, 2).ToString();
        }