当前位置: 首页 > 编程语言 > C#

事务处理时消息未到达MSMQ共享

时间:2023-04-10 20:23:43 C#

事务处理时消息未到达MSMQ我在本地计算机上创建了一个私有MSMQ。我使用以下C#代码将消息发送到队列。当我将队列更改为事务性队列时,消息不会到达MSMQ。但是,在Send方法中没有抛出异常。我需要做些什么改变才能让它发挥作用?usingSystem;使用System.Messaging;使用系统数据;publicpartialclass_Default:System.Web.UI.Page{//由于队列已经打开以进行独占接收而导致共享冲突。MessageQueuehelpRequestQueue=newMessageQueue(@".Private$MyPrivateQueue",false);protectedvoidPage_Load(objectsender,EventArgse){boolisTransactionalQueue=false;如果(!System.Messaging.MessageQueue.Exists(@".Private$MyPrivateQueue")){System.Messaging.MessageQueue.Create(@".Private$MyPrivateQueue",isTransactionalQueue);}发信息();GetAllMessages();}privatevoidSendMessage(){System.Messaging.MessagetheMessage=newSystem.Messaging.Message("TimeNowis"+DateTime.Now.ToString());theMessage.Label="Lijo"+DateTime.Now.ToString();theMessage.Priority=System.Messaging.MessagePriority.Normal;helpRequestQueue.Send(theMessage);}privatevoidGetAllMessages(){DataTablemessageTable=newDataTable();消息表e.Columns.Add("标签");messageTable.Columns.Add("正文");//设置消息过滤器MessagePropertyFilterfilter=newMessagePropertyFilter();过滤器.ClearAll();过滤器。身体=真;过滤器标签=真;过滤器.Priority=true;helpRequestQueue.MessageReadPropertyFilter=过滤器;//获取所有消息System.Messaging.Message[]messages=helpRequestQueue.GetAllMessages();System.Messaging.XmlMessageFormatterstringFormatter=newSystem.Messaging.XmlMessageFormatter(newstring[]{"System.String"});对于(intindex=0;index