无法加载 DLL“mqrt.dll”

2024-01-04

我开发了一个 WCF 服务,它作为 Windows 服务托管并公开 MSMQ 端点。

我在 SERVER1 上有客户端应用程序,在 SERVER2 上有 MSMQ 和 WCF 服务。

当 SERVER1/ClientApp 尝试将消息推送到 SERVER2 MSMQ 时,出现以下错误:

    System.TypeInitializationException: The type initializer for 'System.ServiceModel.Channels.Msmq' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'mqrt.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
       at System.ServiceModel.Channels.UnsafeNativeMethods.MQGetPrivateComputerInformation(String computerName, IntPtr properties)
       at System.ServiceModel.Channels.MsmqQueue.GetMsmqInformation(Version& version, Boolean& activeDirectoryEnabled)
       at System.ServiceModel.Channels.Msmq..cctor()
       --- End of inner exception stack trace ---
       at System.ServiceModel.Channels.Msmq.EnterXPSendLock(Boolean& lockHeld, ProtectionLevel protectionLevel)
       at System.ServiceModel.Channels.MsmqOutputChannel.OnSend(Message message, TimeSpan timeout)
       at System.ServiceModel.Channels.OutputChannel.Send(Message message, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [7]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at FacilityManager.Service.NotificationsProcessorServiceReference.INotificationsProcessor.SendNewReactiveTaskNotifications(NewReactiveTaskDataContract newReactiveTaskDataContract)

SERVER1 和 SERVER2 都运行 Windows Server 2008 R2 Enterprise (6.1 SP1),并且都已通过服务器管理器中的“添加功能”安装了 MSMQ。

我知道 DLL 丢失了(从错误中可以明显看出!),但我不知道应该安装什么才能将 DLL 放在它应该在的位置。

在 Windows 资源管理器中搜索显示 DLL 存在于两台服务器上的以下目录中......

  • C:\Windows\System32
  • C:\Windows\SysWOW64
  • C:\Windows\winsxs\x86_microsoft-windows-msmq-runtime-core_31bf3856ad364e35_6.1.7601.17514_none_5768e2ad17453bd6
  • C:\Windows\winsxs\amd64_microsoft-windows-msmq-runtime-core_31bf3856ad364e35_6.1.7601.17514_none_b3877e30cfa2ad0c

任何帮助表示赞赏。


一个明显的旁白;如果您没有Windows 功能 -> Microsoft 消息队列 (MSMQ) 服务器安装后你会得到这个错误。只需前往程序和特点进而打开或关闭 Windows 功能.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法加载 DLL“mqrt.dll” 的相关文章

  • WCF 发现根本不起作用

    我正在尝试将临时发现添加到简单的 WCF 服务客户端设置 当前通过控制台应用程序中的自托管实现 在 Windows 7 上使用 VS2010 进行调试 并执行我在在线教程中可以找到的任何操作 但发现客户端仍然什么也没找到 不用说 如果我打开
  • 错误:在 Visual Studio 2013 中找不到类型或命名空间名称“ApplicationUser”

    我正在学习 RESTful WCF 服务 教程 但是当我构建我的应用程序时 我收到此错误 找不到类型或命名空间名称 ApplicationUser 您是否缺少 using 指令或程序集引用 c users basma documents v
  • IIS 7.5 托管的 WCF 服务仅针对大型请求抛出 EndpointNotFoundException 和 404

    我有一个 WCF REST 服务托管在 IIS 7 5 Windows 2008 R2 上 该服务按预期工作 除非客户端尝试发送大于 25 MB 的消息 具体来说 当发送大小约为 25 MB 的消息时 服务会正确接收并处理消息 而当发送大小
  • WCF 服务引用从 WSDL 生成 void 方法

    这是我第一次尝试使用 WCF 所以我猜我做错了什么 我正在尝试访问 WSDL 定义的肥皂服务http confluence atlassian com rpc soap axis confluenceservice v1 wsdl http
  • WCF MaxReceivedMessageSize 属性未采用

    搜索了一下 没有运气 我不断得到 已超出传入消息的最大消息大小配额 65536 要增加配额 请使用相应绑定元素上的 MaxReceivedMessageSize 属性 这是有道理的 所以我进入服务器和客户端配置并进行更改 Client
  • 我需要从 64 位 exe 访问 32 位 dll

    我知道我阅读了有关代理进程的所有内容 并且我能够创建代理 COM 但它要么全部在 32 位中工作 要么全部在 64 位中工作 正确的结构是什么 1 32 dll 我尝试了以上两种方法 但没有成功调用32 dll 我不太了解您所指的代理 CO
  • WCF 服务 Process.Start 在网络服务帐户下模拟不同用户

    我在 IIS Windows Server 2008 R2 中托管了 Wcf 服务 使用带有网络服务标识的 AppPool NET 4 0 我的 Wcf 服务有一个使用 Process Start 调用命令 EXE 的方法 我需要使用不同的
  • 常见 WCF 异常:连接意外关闭

    我有三个项目 一种是 WCF 服务项目 一种是 WPF 项目 一种是 Microsoft 单元测试项目 我使用如下所示的数据对象设置 WCF 服务项目 DataContract public enum Priority Low Medium
  • 响应消息的内容类型 application/xml;charset=utf-8 与绑定的内容类型不匹配 (text/xml;charset=utf-8)

    我尝试使用独立应用程序使用 WCF Web 服务 我可以使用 Internet Explorer 查看此服务 也可以在 Visual Studio 中查看服务引用 这是我收到的错误 The content type text html ch
  • WCF 服务调用包装器

    为 WCF 服务调用创建包装器的最佳实践是什么 我认为有必要 为了在同一个地方监视所有呼叫 我正在考虑使用这种代码 这是正确的想法吗 RetType t ServiceExecutionContext
  • dll 的 App.config

    我们有一个 引擎 可以动态加载 dll 无论位于某个目录中的什么 并通过反射的方式从中调用工作流类 我们现在有一些需要访问数据库的新工作流程 因此我想将配置文件放在 dll 目录中 但由于某种原因 我的工作流程看不到配置文件
  • 我的 32 位和 64 位 COM 组件可以同时驻留在同一台计算机上吗?

    我有一个 32 位 COM 组件 主要由 ASP 使用 我们也有 64 位版本 64 位版本在功能上是相同的 并且也使用相同的 ProgID 据我所知 相同的 CLSID 等 我可以在与 32 位版本相同的计算机上安装 regsvr 64
  • 我们可以将工作流服务托管为 Windows 服务吗?

    我正在开发一个日志记录应用程序 它要求我有一个作为服务公开的工作流 工作流服务 我们希望将其托管为 Windows 服务 不希望将工作流服务托管为 IIS 中的 svc 文件 将其作为 Windows 服务的另一个原因是能够通过命名管道与服
  • 从 C# 调用 Java WS

    我试图从 C 程序调用用 Java 编写的 WebService 如果我使用 SoapUi 调用 WS 我可以在 fiddler 中看到调用如下所示
  • 如何在 WCF 中使用自定义序列化或反序列化来强制数据联系人的每个属性上有一个新实例?

    我与许多具有自定义类别的成员有数据联系人 如果反序列化时该属性为空 我想强制创建一个新实例 有没有办法做到这一点 如果您正在使用 DataContract 序列化 那么您可以使用以下方法覆盖其默认行为OnDeserialized属性 Fro
  • 从 C++ .dll 到 Delphi Forms 应用程序的 PostMessage 问题

    我有用 Delphi 7 编写的 Windows 窗体应用程序和使用 MFC 编写的 C dll 目前 我正在尝试实现从 dll 到主可执行文件的基本消息发布 以在进度条上显示用户计算过程 但遇到了几个问题 让我先描述一下我的方法 我在 D
  • 如何在WCF请求和响应的soap标头中添加MessageID?

    企业移动设备管理协议在HTTP POST 请求中显示以下soap xml 如何将我的 Web 服务定义为要包含的肥皂头Action MessageID ReplyTo 和 To在请求和响应中 我尝试在 MessageCOntract 中定义
  • WCF、Rest 和 SOAP 之间是什么关系?

    WCF和REST SOAP是什么关系 WCF 是基于其中一种技术 REST 或 SOAP 还是一种单独的技术 WCF 是一个用于构建分布式系统的消息传递框架 分布式系统是mostly只是网络服务的另一种说法 这意味着您可以用 C 或任何 N
  • 两种方式通信服务器/客户端架构?

    我试图找出我们的新应用程序使用哪种客户端 服务器技术 即 NET Framework 的哪一部分 我们将使用 NET 3 5 SP1 用 C 编写应用程序 它将由一个作为 服务器 运行的中央服务和分布在多台计算机上的多个客户端应用程序组成
  • WCF 中是否可以在没有无参数构造函数的情况下序列化对象?

    我知道私有无参数构造函数可以工作 但是没有无参数构造函数的对象又如何呢 我想公开来自第三方库的类型 因此我无法控制类型定义 如果有办法的话什么是最简单的 例如 我不知道必须创建子类型 Edit 我正在寻找类似此处所示的定制级别 http m

随机推荐