我正在尝试调试使用 Microsoft 消息队列 (MSMQ) 的应用程序。我可以使用远程桌面连接在我的开发服务器上调试队列,但不能在我的本地桌面上重复该过程。如果可能,我更愿意使用本地桌面上的应用程序。
我的开发服务器运行的是 Windows Server 2003 R2 企业版。我的本地计算机运行的是 Windows 7 专业版。
使用远程桌面连接调试队列(见第一个截图):
- 以 DEV\admin_me 身份远程连接到我的开发服务器 (DEVSERVER) 的桌面。
- 运行
compmgmt.msc
。 - 导航到“计算机管理(本地)> 服务和应用程序 > 消息队列 > 专用队列”以查看我的应用程序使用的两个专用队列。
在我的本地桌面上重复这个过程(见第二张截图):
- 运行
runas /user:DEV\admin_me "mmc compmgmt.msc /computer:\\DEVSERVER"
。(使用 runas 是因为我的本地桌面帐户是 DEV\me,而不是 admin)。 - 尝试导航到“计算机管理 (DEVSERVER) > 服务和应用程序 > 消息队列”,但它不可见。
我错过了什么,还是使用远程桌面连接是唯一的方法?
正如John Breakwell 的评论所建议的那样,MSMQ 没有安装在我的本地机器上。我按照这些步骤启用了从本地计算机管理远程 MSMQ 应用程序
安装 MSMQ
在命令提示符下,运行命令
OptionalFeatures
以打开“Windows 功能”对话框。在对话框的功能树中,选中顶级功能“Microsoft Message Queue (MSMQ) Server”。这还会检查子功能“Microsoft MessageQueue (MSMQ) Server Core”。该对话框应如下所示:
按确定。
Windows 会显示一个对话框,提示“Windows 正在更改功能,请稍候。这可能需要几分钟时间。” 等到对话框消失。
验证修复
在本地运行 compmgmt.msc 命令:
导航到“计算机管理(本地)> 服务和应用程序 > 消息队列 > 私有队列”并验证我的应用程序使用的两个私有队列是否可见。