【发布时间】:2019-05-07 00:00:36
【问题描述】:
使用 .net 框架 Web API 项目,我们想为我们的 MQ 队列创建一个侦听器(消费者)。我们正在使用 XMS.Net,因为我们对接收消息的异步方式感兴趣。但是,在创建连接时,我们遇到了错误:
无法从程序集“IBM.XMS.Client.WMQ, Version=8.0.0.7, Culture=neutral, PublicKeyToken=d2666ab12fca862b”加载类型“IBM.WMQ.ManagedCommonServices”。
根据http://www-01.ibm.com/support/docview.wss?uid=swg1IC89514,此问题已修复,但我们仍使用 8.0.0.7 版本来解决此问题。
这对于 .Net 框架控制台应用程序运行良好,但对于 Web API 项目它失败了。
作为解决方法,我们还尝试在 app.config 中为 Web API 添加以下内容,但没有成功 -
<appSettings> <add key="MQCSCLASS" value="amqmdnet(IBM.WMQ.ManagedCommonServices)"/> </appSettings>
注意:我的机器上没有安装 MQ 客户端。我们已将 amqmdmsg、amqmdnet、amqmdnm、amqmdnsp、amqmdxcs dll 引用到项目中。
【问题讨论】:
-
该版本不支持。
-
建议您使用 MQ9.1 Redistributable Client。见这里:ibm.com/support/knowledgecenter/en/SSFKSJ_9.1.0/…
-
@Shashi 同意,之前没有太多时间,我认为它是在 9.0.5(最后一个 9.0 CDS 版本)中添加的,并且包含在 9.1 LTS 和 CDS 中。请注意,9.1.1 CDS 现在还为 MQ.NET 和 XMS.NET API 添加了对 .NET Standard (Core) 的支持。
-
@JoshMc - 是的,你是对的。它是在 9.0.5 中添加的,现在已纳入 9.1 LTS。
-
@JoshMc 我在 9.1 中仍然遇到同样的错误。如果可能的话,您能否分享一个包含所有适当 dll 的工作示例?它真的可以帮助我解决问题。
标签: c# .net asp.net-web-api ibm-mq xms