我看到一个非常奇怪的错误,我很难追踪。我认为它与我的 Rhino ESB 配置有关,虽然我不确定 RSB 是否真的导致它,所以我想我会问其他人是否在 MSMQ 的任何其他用法中遇到过这个问题。
我在 Web 应用程序中使用 RSB 作为客户端(ASP.NET,客户端在后台运行)。客户端通过 RSB 的 MSMQ 绑定与 Windows 服务对话。重新启动服务似乎永远不会对 MSMQ 产生影响,手动重新启动 IIS 也不会。但是,每当我实际重新启动计算机本身时,MSMQ 总是拒绝启动备份,声称“队列处于不一致状态”。尝试手动启动 MSMQ 会导致相同的错误,从而有效地使 MSMQ 安装完全无用。解决它的唯一方法是实际删除然后重新安装 MSMQ。
我通过全能的 Google 找到的唯一信息是对 MSMQ 2.0 中问题的引用(此问题发生在 MSMQ 4.0 中)。我已经验证在服务和网站中都在关闭时在总线上调用 Dispose。
有谁知道为什么会发生这种情况?谢谢!