好的,这是一个非常简单和根本的问题。
如果我在Windows机器A上有一个应用程序要在Windows机器B上写入队列,是否需要在机器A上安装MSMQ(即使在那里没有队列)?我刚刚开始为我的应用程序使用队列,并尝试了解一些基本原理。

谢谢

是的,您需要在本地安装MSMQ才能写入远程队列。如果您正在写私人队列,请查看 this page,其中有关如何格式化队列名称的有用信息。如果你正在写一个远程的事务队列,那么你需要确保你正确地指定(点5)

这是文章文字:

1. When working with remote queues,the queue name in the format machinename\private$\queuename doesn’t work. This results in an
“invalid queue path” error.

2. The queue name has to be mentioned as FormatName:Direct=OS:machinename\\private$\\queuename.

This is necessary since the queue access is internally done using the format
name Syntax only. The other friendly representation is converted to
the FormatName and then used. When working with remote queues,unless
there is an AD to resolve the queue name,the friendly name won’t
work. Check out documentation for details.

For Eg.

06000

3. Further to prevIoUs point,note that FormatName is case sensitive. If you mention the earlier string as
FORMATNAME:Direct=OS:machinename\\private$\\queuename,it won’t
work. Surprisingly,there is no error thrown in this case.
“FormatName” part of the string seems to be the only case sensitive
part. Others can appear in different case. For eg. You can write
“DIRECT”.

4. In case you want to use the machine’s IP address the Syntax will be FormatName:Direct=TCP:ipaddress\\private$\\queuename.

For Eg.

06001

5. The transactional properties of the queue instance you create in code should match with that of the queue you are trying to send the
message to. So in the earlier examples,I was sending message to a
non-transactional queue. To send to a transactional queue,the code
would be

06002

If the transactional properties don’t match,the message will not be
delivered. The surprising part is again,I didn’t get any error,and
the message just disappeared

6. Finally,when you send messages to remote queue,a temporary outgoing queue is created on your own machine. This is used in case the remote queue is unavailable. If you go to the computer Management console (compmgmt.msc),and expand the Services and Applications / Message Queuing / Outgoing Queues,you would see these queues. The right side of the console should show the details including the state (connected or not) and the IP address(es) for the next hop(s).

.net – 写入远程MSMQ的更多相关文章

  1. Android同时运行Wifi Lan和Wifi Direct

    我正在构建Android应用程序.我想知道设备是否有可能同时保持与WiFiLAN接入点和使用WiFi的另一台设备的连接?

  2. windows-7 – MSMQ问题读取远程私人队列(再次)

    我也尝试关闭W7和XP防火墙,并给予每个人和他的狗对队列本身的完全权限无济于事.鉴于它与XP一起作为队列主机,但不与W7作为主机,我认为这是一个安全问题,而不是代码问题.但对于我的生活,我无法看到W7在哪里堵塞.编辑8/9好的..添加允许我从远程专用队列中读取消息.但是这似乎不允许使用枚举可用的私有队列.那么这个想法有什么想法吗?

  3. windows-services – Msmq和WCF服务

    我是否遗漏了为队列和Windows服务设置的任何权限,如果是这样,你能否建议在哪里添加这些权限?汤姆·霍兰德有一个关于使用WCF的MSMQ的三部分博客系列–非常值得一试!

  4. windows-server-2003 – 就MSMQ而言,独立客户端和依赖客户端之间有什么区别

    我有一个客户端有一个服务器,其中有一个.net应用程序试图写入另一台服务器上的MSMQ.他们得到错误“MSMQ独立客户端无法为MSMQ依赖客户端提供服务”.这两者有什么区别,是否有一种简单的方法使服务器A独立?

  5. windows-server-2008 – 通过HTTP的MSMQ – 为什么我们需要TCP端口1801?

    提前致谢.请放心,文档在这一点上是完全错误的.我很尴尬因为我在微软的MSMQ支持工作期间从未发现产品组写的内容.我会看看我是否可以找人修理这些信息.

  6. windows-server-2003 – 如何确定MSMQ 3.0容量和服务器规格?

    我正在尝试确定MSMQ服务器所需的资源,并且在阅读文档时感到困惑.例如,MSMQ3.0可以存储25GB的消息,如果是,那么支持它所需的服务器规范是什么?您可能需要重新检查应用程序是否已正确设计用于加载将要处理的消息.

  7. Ext.Direct VS Ext.Ajax

    Ext.direct与常规Ext.ajax调用的主要优点是什么?我什么时候应该考虑使用一个?

  8. 没有SAN的MSMQ的Windows故障转移群集?

    我们的目标是创建一个没有任何单点故障的集群MSMQ.理想情况下,存储的消息将保留在集群的所有节点上,这样,如果任何单个节点脱机,集群可以继续运行并维护仲裁.或者,是否有另一种更好的方法来创建高可用性MSMQ?

  9. msmq – 有没有办法只查看计算机管理的消息队列部分?

    我打开电脑管理,扩展服务和应用,然后展开消息队列和私人队列……一些组件可以在外面打开计算机管理,例如:事件查看器通过Start,Run,eventvwr.是否有可能做同样的事情消息队列?thnx~~gerry遵循mark的建议,并在其中保存一个带有计算机管理的新.msc.然后在左侧树视图中打开MSC,扩展私人消息队列或您经常工作的任何部分,当您退出时,它会询问您是否要保存.msc–说是,下次打开它时,它会保存到你保存的地方.

  10. 是否可以在Windows 8上从PowerShell启用MSMQ?

    是否可以在Windows8(.1)上从PowerShell启用MSMQ?

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部