使用.net框架Web API项目,我们要为MQ队列创建一个侦听器(消费者)。我们正在使用XMS.Net,因为我们对接收消息的异步样式感兴趣。但是,在创建连接时,我们遇到错误-无法从程序集“ IBM.XMS.Client.WMQ,版本= 8.0.0.7,文化=中性,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引用到了项目中。
任何帮助将不胜感激。谢谢!
答案 0 :(得分:2)
如果您使用的是MQ v9.1,则可以尝试以下步骤
1)在环境中设置以下变量
DEVPATH =&RedistributablePackagePath&\ bin
2)将绑定重定向标记添加到应用程序的App.config文件中,因为该应用程序是使用较低的MQ版本编译的,因此必须针对较高的版本运行。为此,您可以复制位于“&MQInstallPath&\ Tools \ dotnet \ samples \ cs \ base”中的NonPrimaryRedirect.config文件的内容
注意:您必须将app.config文件中的“ newVersion”属性值修改为您要针对其运行的版本,即9.1.0.0,然后修改“ href ”到可重新分发的程序包路径。
3)将以下标记添加到app.config文件
var price = ele.options[ele.selectedIndex].dataset.price