首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

讯息队列 长度不能小于 0。 参数名: length

2012-07-23 
消息队列 长度不能小于 0。 参数名: lengthC# codeSystem.Messaging.MessageQueue queue new System.Mess

消息队列 长度不能小于 0。 参数名: length

C# code
System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue(".//Private$//MSMQDemo");            System.Messaging.Message message = new System.Messaging.Message();            message.Body = textBox1.Text.Trim();            message.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(string) });            queue.Send(message);


RT 点击发送后报错:
未处理 System.ArgumentOutOfRangeException
  Message=长度不能小于 0。
  参数名: length
  Source=mscorlib
  ParamName=length


[解决办法]
用下面这段试验一下。

// Send Message

private void btnSendMessage_Click(object sender, System.EventArgs e)

{

// Open queue

System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue(".\\Private$\\MSMQDemo");

 

// Create message

System.Messaging.Message message = new System.Messaging.Message();

message.Body = txtMessage.Text.Trim();

message.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] {typeof(string)});

 

// Put message into queue

queue.Send(message);

}

 

// Receive Message

private void btnReceiveMessage_Click(object sender, System.EventArgs e)

{

// Open queue

System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue(".\\Private$\\MSMQDemo");

  

// Receive message, 同步的Receive方法阻塞当前执行线程,直到一个message可以得到 

System.Messaging.Message message = queue.Receive(); 

message.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] {typeof(string)});

txtReceiveMessage.Text = message.Body.ToString();

}

热点排行