请问消息队列一定要添加计算机域么?

sc650125 2009-08-21 09:14:49
如题,我没有添加本计算机到域,然后建立队列的时候说没有队列,这个队列不是建立在本机吗?为什么要会建立不了呢?
...全文
163 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sc650125 2009-08-21
  • 打赏
  • 举报
回复
准确的说是点击button1的时候
sc650125 2009-08-21
  • 打赏
  • 举报
回复
抄的网上的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.IO;

namespace GPSServer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// AxDAPPERMAPLib.AxDapperMap pc_Zhu_DiTu = new AxDAPPERMAPLib.AxDapperMap();

}

private void button1_Click(object sender, EventArgs e)
{
//string ZDH = textBox1.Text;
//string _SQL = "SELECT * FROM [BCheLiang] where iZhongDuanXuHao=" + ZDH;
//DataBase.DataBase _db = new DataBase.DataBase("Server=(local);Integrated Security=SSPI;database=CDB_GPS");
//DataTable _DT = _db.GetDataTable(_SQL);
//if (ZDH != null)
// textBox2.Text = _DT.Rows[0][2].ToString();
// Open queue

System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue(".\\MSMQDemo");
// Create message

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

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

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

// Put message into queue
queue.Send(message);

}

private void button2_Click(object sender, EventArgs e)
{
System.Messaging.MessageQueue queue2 = new System.Messaging.MessageQueue(".\\MSMQDemo");

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

System.Messaging.Message message2 = queue2.Receive();

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

textBox2.Text = message2.Body.ToString();
}
}
}
button1是发送,button2是接收。
运行后提示:工作组安装计算机不支持该操作。
  • 打赏
  • 举报
回复
不需要。

为什么要会建立不了呢?
看看代码
  • 打赏
  • 举报
回复
using System.Messaging;

//消息队列名称
string ClientMQStr = @".\private$\Softlove03Client";
//处理消息队列的对象
MessageQueue Softlove03MQ = null;

void Form1_Shown(object sender, EventArgs e)
{
//throw new Exception("The method or operation is not implemented.");
CreateMQ();
}

//建立一个消息队列
void CreateMQ()
{
if (!MessageQueue.Exists(ClientMQStr)) //消息队列不存在
{
Softlove03MQ = MessageQueue.Create(ClientMQStr);
Softlove03MQ.Formatter = new System.Messaging.XmlMessageFormatter(new string[] { "System.String,mscorlib" });
}
else //消息队列存在
{
Softlove03MQ = new MessageQueue(ClientMQStr);
}
//消息队列的ReceiveCompleted事件,接收到消息时产生
Softlove03MQ.ReceiveCompleted += new ReceiveCompletedEventHandler(Softlove03MQ_ReceiveCompleted);
//接收消息
Softlove03MQ.BeginReceive();
}

//接收消息
void Softlove03MQ_ReceiveCompleted(object sender, ReceiveCompletedEventArgs e)
{
//throw new Exception("The method or operation is not implemented.");
try
{
if (Softlove03MQ != null)
{
System.Messaging.Message m = Softlove03MQ.EndReceive(e.AsyncResult);
m.Formatter = new System.Messaging.XmlMessageFormatter(
new string[] { "System.String,mscorlib" });
//处理消息
//Debug.WriteLine("Message: " + (string)m.Body);
//接收下一个消息
Softlove03MQ.BeginReceive();
}
}
catch
{
}
}


//发送消息到消息队列
bool SendMessage(string str)
{
try
{
if (MessageQueue.Exists(ClientMQStr))
{
using (MessageQueue mq = new MessageQueue(ClientMQStr))
{
mq.Send(str);
}
return true;
}
}
catch
{
}
return false;
}

110,534

社区成员

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

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

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