尝试MSMQ-HTTP
通过 DISM安装 Windows 功能
DISM /NoRestart /ONLINE /Enable-Feature /All /FeatureName:MSMQ-HTTP
失败了
错误:0x800f0922
DISM 失败。没有进行任何操作。有关详细信息,请查看日志文件。
DISM 日志文件位于 C:\WINDOWS\Logs\DISM\dism.log
尝试MSMQ-HTTP
通过 DISM安装 Windows 功能
DISM /NoRestart /ONLINE /Enable-Feature /All /FeatureName:MSMQ-HTTP
失败了
错误:0x800f0922
DISM 失败。没有进行任何操作。有关详细信息,请查看日志文件。
DISM 日志文件位于 C:\WINDOWS\Logs\DISM\dism.log
我正在使用非跨国 MSMQ 消息,所有消息都在队列中接收,但 1-2 分钟后所有消息都消失了,这发生在 iis 应用程序 2.0 上,使用 Visual Studio 也能正常工作。
如何检查是否已在域模式下安装 Microsoft Queuing MSMQ?
如果在 MSMQ 专用队列上启用了日志,并且具有存储限制(例如,100 KB),那么当超出该限制时会发生什么情况?你能配置这种行为吗?
具体来说:
人们似乎暗示设置限制是期刊增长和超出服务器资源风险的一种解决方案,但我还没有发现有人解释超过限制时会发生什么。
在我们自己的(非常有限的)测试中,似乎消息只是停止写入日志。(即,当日志队列达到其限制时,旧消息仍保留在日志中,但对于所有未来的消息,日志实际上已关闭)。
我们最近遇到了一个问题,即 MSMQ(在工作组中的 Windows Server 2008 R2 上)停止发送消息。事实证明,这是因为 MSMQ 已达到消息存储限制,因此以可怕的“资源不足”错误响应所有内容。
到目前为止很公平,但事情是这样的:据我们所知,用完所有磁盘空间的消息都发往另一台机器上的队列(我们猜测另一台机器暂时停止接受消息由于我们尚未弄清楚的原因,导致发送 MSMQ 上的所有内容都备份)。所以处理这些消息实际上应该释放磁盘空间。事实上,我们发现一旦我们取消了发送机器上的消息存储限制,消息就开始发送了。并且在稍后的某个时间点(我们没有看到什么时候,但是即使队列中没有消息,这个线程 MSMQ 也会继续增长表示应该是 6 小时后),所有占用磁盘空间的 p*****.mq 消息都已清理,使我们能够恢复存储限制。
对我们来说,MSMQ 会因为超出存储限制而拒绝发送这些消息是没有意义的,而发送消息本来可以释放存储空间。但我们拥有的所有证据表明,这就是发生的事情。任何人都可以确认这是否实际上是 MSMQ 的行为方式?
我正在尝试调试使用 Microsoft 消息队列 (MSMQ) 的应用程序。我可以使用远程桌面连接在我的开发服务器上调试队列,但不能在我的本地桌面上重复该过程。如果可能,我更愿意使用本地桌面上的应用程序。
我的开发服务器运行的是 Windows Server 2003 R2 企业版。我的本地计算机运行的是 Windows 7 专业版。
使用远程桌面连接调试队列(见第一个截图):
compmgmt.msc
。在我的本地桌面上重复这个过程(见第二张截图):
runas /user:DEV\admin_me "mmc compmgmt.msc /computer:\\DEVSERVER"
。(使用 runas 是因为我的本地桌面帐户是 DEV\me,而不是 admin)。我错过了什么,还是使用远程桌面连接是唯一的方法?
如何从崩溃的机器上恢复消息队列,以便在新机器上恢复事务性消息?
我在两台 Windows XP 计算机上安装了 MSMQ。我可以将它们配置为来回传递消息,还是我需要一个中间的 MSMQ 服务器?
如果我需要一个 MSMQ 服务器,普通的带有 Win2003 的 MSMQ 可以充当那个吗?然后,如何将我的 Windows XP 连接到该 Windows 2003 服务器?是 a) MMC 的 MSMQ 插件中的屏幕管理对话框,b) 配置文件,c) Active Directory,d) 其他东西吗?
谢谢,
尼尔·沃尔特斯