我通过.net使用7x(7.5 mq客户端amqmdnet.dll)并使用MQPutMessageOptions
和MQGetMessageOptions
,此代码适用于mq 7.5 ibm客户端,但是
说7x mq客户端将向后兼容6x,当我尝试连接时,我收到此错误(我在Windows 7 64位操作系统中)。
System.TypeInitializationException: The type initializer for 'IBM.WMQ.MQQueueManager' threw an exception. ---> System.TypeInitializationException: The type initializer for 'IBM.WMQ.CommonServices' threw an exception. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at IBM.WMQ.CommonServices..cctor()
--- End of inner exception stack trace ---
at IBM.WMQ.CommonServices.TraceEnabled()
at IBM.WMQ.MQBase..ctor()
at IBM.WMQ.Nmqi.NmqiEnvironment..ctor(NmqiPropertyHandler nmqiPropertyHandler)
at IBM.WMQ.Nmqi.NmqiFactory.GetInstance(NmqiPropertyHandler properties)
at IBM.WMQ.MQQueueManager..cctor()
抛出上述错误的行是:
MQQueueManager mqQMgr = new MQQueueManager("My queue manager" , "my channel name" ,"my connection name");
PS:上面一行有相同的params在7.5 mq客户端工作正常,但在6x时失败(对于ex:6.0.2.5 mq客户端安装,我做了'典型'安装(完全安装6x mq客户端) )。
知道如何使其与6.0.2.5一起使用吗?
答案 0 :(得分:5)
是的,该链接是正确的。如果您安装了MQ v7.5客户端,那么该链接的含义是,您将能够使用在远程计算机上运行的MQ v6.0队列管理器。但你正在尝试的似乎是不同的。您似乎已使用MQ v7.5客户端编译了应用程序,但尝试在MQ v6.0.x客户端上运行它。这不起作用。