1

我正在尝试访问托管在 Windows 服务中的远程 WCF 服务(使用 netMsmqBinding)并收到错误消息:

Message: System.TypeInitializationException: The type initializer for 'System.ServiceModel.Channels.Msmq' threw an exception. ---> System.DllNotFoundException:     Unable to load DLL 'mqrt.dll': A dynamic link library (DLL) initialization routine failed. (Exception from HRESULT: 0x8007045A)
at System.ServiceModel.Channels.UnsafeNativeMethods.MQGetPrivateComputerInformation(String computerName, IntPtr properties)

我已经读到如果没有安装 msmq 可能会出现这个错误,但是 msmq 不应该安装在本地机器上......它安装在它试图与之交谈的远程机器上。

还有什么可能导致这种情况?

4

2 回答 2

0

任何希望参与消息传输的机器都需要安装 MSMQ。

这是因为 MSMQ 使用一种称为Store and forward的消息传递模式,这使得 MSMQ 对传输失败具有鲁棒性。

于 2012-11-16T21:21:10.407 回答
0

转到程序和功能,然后打开或关闭 Windows 功能。找到Microsoft 消息队列 (MSMQ) 服务器并启用它。

归功于:https ://stackoverflow.com/a/26705197/782856

于 2016-04-01T02:14:53.607 回答