【求助】~~~消息队列接收不到消息~

jianjialin 2008-12-19 04:12:14
操作消息队列的简单代码

protected void Button1_Click(object sender, EventArgs e)
{
MessageQueue queue = new MessageQueue();
if (!MessageQueue.Exists(".\\private$\\BookShopOrders"))
{
MessageQueue.Create(".\\private$\\BookShopOrders");
}
queue.Path = ".\\private$\\BookShopOrders";

queue.Send(TextBox1.Text,MessageQueueTransactionType.Single);
Label2.Text = "ok";
}

protected void Button2_Click(object sender, EventArgs e)
{
string[] types = { "System.String"};

MessageQueue queue = new MessageQueue();
queue.Formatter = new XmlMessageFormatter(types);

queue.Path = ".\\private$\\BookShopOrders";

Message message = queue.Receive();
Label1.Text = (string)message.Body;
}



在专用队列中, 能发现BookShopOrders队列。
第一个方法,即发送方法没有报错,
Label2.Text = "ok";
显示出来了
但是不论怎么发送, 该队列的消息数目始终为0条
导致怎么也接受不了已经发送的消息。

还请各位不吝赐教,拜谢!
...全文
135 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianjialin 2008-12-19
  • 打赏
  • 举报
回复
日了。 顶ls 谢谢!
wartim 2008-12-19
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Messaging;

namespace WindowsApplication36
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

}

void button1_Click(object sender, EventArgs e)
{
MessageQueue queue;
if (!MessageQueue.Exists(".\\private$\\BookShopOrders"))
queue = MessageQueue.Create(".\\private$\\BookShopOrders");
else
queue = new MessageQueue(".\\private$\\BookShopOrders");
queue.Send(TextBox1.Text);
queue.Close();
Label2.Text = "ok";
}

void button2_Click(object sender, EventArgs e)
{
MessageQueue queue = new MessageQueue(".\\private$\\BookShopOrders");
queue.Formatter = new XmlMessageFormatter(new String[] { "System.String"});
System.Messaging.Message message = queue.Receive();
Label1.Text = Convert.ToString(message.Body);
queue.Close();
}
}
}
JustLovePro 2008-12-19
  • 打赏
  • 举报
回复
不懂,up
pele007 2008-12-19
  • 打赏
  • 举报
回复
首先,Button1按了以后,你去MQ管理里面看看,这个Queue是不是已经存在了一条信息

如果是的话,收消息
MessageQueue queue = new MessageQueue();
queue.Formatter = new XmlMessageFormatter(types);

queue.Path = ".\\private$\\BookShopOrders";
变成
MessageQueue queue = new MessageQueue(strPath);

试试吧
jianjialin 2008-12-19
  • 打赏
  • 举报
回复
- -! 好冷
jianjialin 2008-12-19
  • 打赏
  • 举报
回复
有没有人呀?

百度了好久都没有找到答案
jianjialin 2008-12-19
  • 打赏
  • 举报
回复
顶,
有人可以帮帮我吗

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧