当调用MSMQManagementClass.Init(Object& Machine,Object& PathName,Object& FormatName)方法时,当客户端和msmq服务都在同一个盒子上时,它可以正常工作。
当客户端和msmq服务位于不同的域时,我收到以下错误
Windows 2008服务器上的System.Runtime.InteropServices.COMException(0xC00E000B):消息 排队服务不适用于 MSMQ.MSMQManagementClass.Init(Object& Machine,Object& PathName, 对象和放大器; FORMATNAME)
下面的代码给出了错误
var msmq = new MSMQManagement();
var machineName = MachineName
var pathName = null
var formatName = DIRECT=TCP:ipaddress\private$\testq
msmq.Init(ref machineName, ref pathName, ref formatName);
但是
这很好用
var queue = new MessageQueue(FormatName:DIRECT=TCP:ipaddress\private$\testq)
答案 0 :(得分:1)
您的意思是跨域还是跨域?
Cross-forest MSMQ? You need to be trusting
您正在对远程计算机执行RPC操作,因此以下内容应该有所帮助:
Understanding how MSMQ security blocks RPC traffic
干杯
约翰
答案 1 :(得分:0)
要使用MSMQ,它要求在发送方和接收方都安装MSMQ。