本文介绍了尝试从Windows 7到Windows 2003发送私人消息时出现消息队列超时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在互联网上寻找有关此问题的答案,关于使Windows 7客户端与早期版本的MSMQ进行对话的信息似乎很少,所以我希望这里的人能为您提供帮助.

I have seached on the internet for answers to this one and there seems to be very little information on getting Windows 7 clients to talk to earlier versions of MSMQ so I'm hoping somebody here can help.

我几乎不了解消息队列.我对Windows 7客户端了解更多.

I know next to nothing about Message Queuing. I know slightly more about windows 7 clients.

我们有一个Windows 2003 Server,上面有一个服务,该服务从同一台计算机上的SQL数据库提供一个二进制文件.为了从服务中获取文件,客户端计算机通过专用消息连接到2003服务器上的消息查询服务 使用在app.config中配置的用户名和密码进行排队,如下所示:-

We have a windows 2003 server that has a service on it that delivers a binary file from an SQL database on the same machine. To get the file from the service a client machine connects to the message queing service on the 2003 server via a private message queue using a username and password confirgured in the app.config like this:-

<添加密钥="InformationRequestQueuePath"; value ="FormatName:DIRECT = OS:servername \ Private $ \ queuename" />

<add key="InformationRequestQueuePath" value="FormatName:DIRECT=OS:servername\Private$\queuename" />

<添加密钥="ConnectionAccountName";值="username@domain.subdomain.co.uk" />

<add key="ConnectionAccountName" value="username@domain.subdomain.co.uk" />

<添加密钥="ConnectionAccountPassword";值=密码"; />

<add key="ConnectionAccountPassword" value="password" />

到目前为止,我们一直在使用Windows XP客户端,他们可以毫无问题地使用该服务.他们只有普通"字样.在其上安装了消息队列组件.

We have been using windows XP clients up to now and they can use the service without any problems. They have only the "common" component of message queueing installed on them.

我们现在有两个已经使用Windows 7计算机的用户.客户端应用程序正在以提升的管理员"身份运行.特权(右键单击,以管理员身份运行)以消除UAC引起问题的可能性.

We now have two users that have been given Windows 7 machines. The client application is being run with elevated "Administrator" privilages (right click, run as administrator) to eliminate the possibility that UAC is causing an issue.

但是,当软件运行时,我们会收到消息排队超时"消息.客户端应用程序中发生异常.在Windows 7客户端上,只有"Core"客户端才可以.消息队列组件已安装.

However, when the software runs we get a "message queuing timeout" exception occuring in the client application. On the windows 7 clients only the "Core" message queuing component is installed.

我需要在客户端计算机上做一些事情来防止这种超时吗?

Is there something I need to do on the client machines to prevent this timeout?

我尝试使用诊断方法将测试消息发送到队列(通过注册表启用此消息后),但是却得到了相当无益的响应不支持发送到专用队列".

I tried to use the disgnostics to send a test message to the queue (after enabling this via the registry), but I got the rather unhelpful response "Sending to private queues is unsupported".

任何解决此问题的帮助将不胜感激.

Any help fixing this issue would be appreciated.

 

推荐答案

这是一个安全问题.从远程队列中提取消息使用安全RPC连接.随着时间的流逝,安全性得到了加强,这就是为什么您看不到Windows XP而是Windows 7的问题.

This is a security issue. Pulling messages from a remote queue uses a Secure RPC connection. Security has been tightened up over time which is why you see no issues with Windows XP but do with Windows 7.

有几件事情值得研究:

了解MSMQ如何安全性阻止RPC流量

引用


这篇关于尝试从Windows 7到Windows 2003发送私人消息时出现消息队列超时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-22 16:58