在工作组模式下,远程访问专用队列。在网上找到一篇文章,翻译了一下。
最后结论,直接使用多元素格式名方式,利用IP地址直接对单个或多个目标发送消息
     MessageQueue rmQ = new MessageQueue
              ("FormatName:Direct=TCP:121.0.0.1\\private$\\queue,Direct=TCP:192.168.1.2\\private$\\queue");
     rmQ.Send("sent to regular queue - Atul");
 
原文地址
http://www.infosysblogs.com/microsoft/2007/02/msmq_sending_message_to_remote.html
 
1.当需要引用远程队列时,使用“machinename\private$\queuename”的格式无法工作。会返回“invalid queue path”错误。
 
2.队列名称需要使用“"FormatName:Direct=OS:machinename\\private$\\queuename”的格式。其他友好形式的表达式都是被转换为FormatName格式之后进行调用的。而且其他这些友好表达式的转换是基于Active Directory(域)来进行解析的,如果没有域的支持,这些表达式将无法工作。
 
例:
    MessageQueue rmQ = new MessageQueue 
                                    ("FormatName:Direct=OS:machinename\\private$\\queue");
    rmQ.Send("sent to regular queue - Atul");
 
 
3.FontName是区分大小写的。如果表达式为“FORMATNAME:Direct=OS:machinename\\private$\\queuename”,是无法工作的。但这种表达式不会返回任何错误。FontName好像是表达式里唯一区分大小写的部分。其他部分可以随意使用大小写,例如可以使用“DIRECT”。
 
 
4.如果想要使用机器IP地址,表达式的语法为“FormatName:Direct=TCP:ipaddress\\private$\\queuename”
 
  例:
     MessageQueue rmQ = new MessageQueue
                                     ("FormatName:Direct=TCP:121.0.0.1\\private$\\queue");
     rmQ.Send("sent to regular queue - Atul");
 
 
5.在代码中创建的队列实例对象的事务性属性,必须与要发送的目标队列的属性相匹配。前面的例子中发送的消息为非事务型消息,如果要发送消息到事务型的队列,代码为:
    MessageQueue rmTxnQ = new MessageQueue
                                            ("FormatName:Direct=OS:machinename\\private$\\queue");
    rmTxnQ.Send("sent to Txn queue - Atul", MessageQueueTransactionType.Single);
 
如果事务型属性不匹配,消息将无法传递。系统不会返回任何错误,但该条消息却会丢掉。
 
 
6.最后,当你发送消息到远程队列,系统会在本机创建一个临时的传出队列。这样做的目的是防止远程队列无法访问。在计算机管理器中查看消息队列/传出队列,可以看到这些临时队列。在管理器的右侧可以显示状态(联通、未联通)以及IP地址。
 
7. 我使用以下格式来接收消息
"FormatName:DIRECT = HTTP://183.82.48.5/MSMQ/testwcf2";
"FormatName:DIRECT = TCP:183.82.48.5\testwcf2";
 

MSMQ-发送消息到远程专用队列path格式的更多相关文章

  1. MSMQ-发送消息到远程专用队列 实例

    目录 一:MSMQ的一些理论上的知识 二:队列类型(Queue Type) 三:安装消息队列 四:在C#中Messagequeue class 五:MSMQ-发送消息到远程专用队列 六:例子   一. ...

  2. RocketMQ3.2.2生产者发送消息自动创建Topic队列数无法超过4个

    问题现象 RocketMQ3.2.2版本,测试时尝试发送消息时自动创建Topic,设置了队列数量为8: producer.setDefaultTopicQueueNums(8); 同时设置broker ...

  3. MSMQ向远程服务器发送消息----错误总结

    一:路径错误(Path)错误 如果向远程服务器发送消息,请使用格式名的形式,如: FormatName:Direct=TCP:121.0.0.1\\private$\\queueFormatName: ...

  4. 【c#】队列(Queue)和MSMQ(消息队列)的基础使用

    首先我们知道队列是先进先出的机制,所以在处理并发是个不错的选择.然后就写两个队列的简单应用. Queue 命名空间 命名空间:System.Collections,不在这里做过多的理论解释,这个东西非 ...

  5. 工作组模式下专用队列(Private Queue)如何引用远程队列路径

    查了N久资料,包括MSDN的官方文档,对于同一工作组下,不同机器之间如何利用Private Queue(专用队列)来发送/接收消息,关于Path的引用一说,无非都是MachineName\privat ...

  6. 【转】MSMQ 微软消息队列 简单 示例

    MSMQ它的实现原理是:消息的发送者把自己想要发送的信息放入一个容器中(我们称之为Message),然后把它保存至一个系统公用空间的消息队列(Message Queue)中:本地或者是异地的消息接收程 ...

  7. MSMQ创建消息队列出现“工作组安装计算机不支持该操作”

    [sceislqzw]:你在创建公有队列,而你的机器不属于任何域.一般工作组安装的计算机只能创建私有队列. System.Messaging.MessageQueue QueueReceive = n ...

  8. RabbitMQ初学之二:直接发送消息到队列

    一. 背景 总前提:队列无论是在生产者声明还是在消费者声明,只有声明了,才能在RabbitMQ的管理界面看到该队列 生产者直接发送消息到队列,消费者直接消费队列中的消息,而不用指定exchange并绑 ...

  9. 使用C#和MSMQ开发消息处理程序

    简介 MSMQ(微软消息队列)是Windows操作系统中消息应用程序的基础,是用于创建分布式.松散连接的消息通讯应用程序的开发工具.消息队列和电子邮件有着很多相似处,他们都包含多个属性,用于保存消息, ...

随机推荐

  1. PHP函数总结 (一)

    <?php /** * 原理: * 函数不调用不执行,定义函数时,会将 * 函数放到内存中代码段,当调用函数时去内存 * 中函数名称所在位置中执行函数体,执行完后 * 将控制权移交回给调用函数的 ...

  2. 河南省第十一届ACM大学生程序设计竞赛

    nyoj-1365-山区修路 内存限制:128MB 时间限制:3000ms 特判: No通过数:4 提交数:4 难度:3 题目描述: SNJ位于HB省西部一片群峰耸立的高大山地,横亘于A江.B水之间, ...

  3. 记一次使用utl_http方法调用接口,报字符或值错误

    背景:ebs系统和其他系统通过utl_http包调用接口,使用log方法记录日志. 某次调用接口,执行到记录日志行报字符或值错误. 查找原因,发现是p_str的长度超过的32767的限制. 解决办法: ...

  4. linux command wc

    Linux command wc [Purpose]        Learning how to statistics line numbers in file   [Eevironment]    ...

  5. DevExpress v18.1新版亮点——WinForms篇(七)

    用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v18.1 的新功能,快来下载试用新版本! ...

  6. 【DevExpress v17.2新功能预告】WinForms上的图表增强

    在WinForms Charts v17.2中,我们新增了一些有用的功能,开发人员和最终用户可能都会喜欢. 基于标准的过滤 Chart控件已经支持一系列的过滤,但是在这个版本中,我们用FilterCr ...

  7. Java实现责任链模式

    责任链模式: 将接受者对象连成一条链,并在该链上传递请求,直到一个几首这对象处理它.通过让更多对象有机会处理请求,避免了请求发送者和接受者之间的耦合. 责任链模式的优缺点: 优点:高内聚,低耦合.业务 ...

  8. php file文件操作函数

    filemtime() 函数: filemtime() 函数返回文件内容上次的修改时间. 若成功,则时间以 Unix 时间戳的方式返回.若失败,则返回 false. <?php echo fil ...

  9. Ubuntu 12.04硬盘安装教程

    从服务器下载Ubuntu 12.04光盘镜像文件到 C 盘.下载地址:\\192.167.100.225\share\Tool\Ubuntu\ubuntu-12.04.1-desktop-amd64. ...

  10. MovingBoxes左右滑动放大图片插件

    MovingBoxes左右滑动放大图片插件在产品预览时很有用哦 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transition ...