C# 在.NET C中调用MQQueueManager构造函数时出现无效句柄错误#

C# 在.NET C中调用MQQueueManager构造函数时出现无效句柄错误#,c#,ibm-mq,C#,Ibm Mq,调用以下代码时,出现了一个看似随机的“句柄无效”错误: var properties = new Hashtable(); properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT); properties.Add(MQC.HOST_NAME_PROPERTY, "MyHost"); properties.Add(MQC.PORT_PROPERTY, "MyPort"); properties.Add(MQC.CHA

调用以下代码时,出现了一个看似随机的“句柄无效”错误:

var properties = new Hashtable();
properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);
properties.Add(MQC.HOST_NAME_PROPERTY, "MyHost");
properties.Add(MQC.PORT_PROPERTY, "MyPort");
properties.Add(MQC.CHANNEL_PROPERTY, "MyChannel");

this.QueueManager = new MQQueueManager("MyName", properties);
环境是.NET Framework 3.5和MQ Client 7.1

问题是这个错误不会重复出现,可能只有15%的时间是在生产环境中发生的,而且我似乎无法在我的开发环境中重现它。我得到的唯一线索是,我知道这段代码可能被两个不同的进程同时调用。如果有帮助,我还得到了以下堆栈跟踪:

Win32Exception - The handle is invalid
   at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)
   at System.Diagnostics.ProcessManager.GetModuleInfos(Int32 processId)
   at System.Diagnostics.Process.get_Modules()
   at IBM.WMQ.Nmqi.UnmanagedNmqiMQ.MQCONNX(String pQMgrName, MQCNO& pConnectOpts, Hconn parentHconn, Phconn phconn, Int32& pCompCode, Int32& pReason)
   at IBM.WMQ.Nmqi.UnmanagedNmqiMQ.MQCONNX(String pQMgrName, MQConnectOptions pConnectOpts, Phconn phconn, Int32& pCompCode, Int32& pReason)
   at IBM.WMQ.MQQueueManager.Connect(String queueManagerName)
   at IBM.WMQ.MQQueueManager..ctor(String queueManagerName, Hashtable properties)
   ...

有什么想法吗?有人吗?:)

这可能会对您有所帮助。您是否为下载了最新的MQ客户端

谢谢你的回答。不幸的是,除了它是一个v7.1客户机之外,我没有任何关于安装在站点上的版本的其他信息。由于与该客户有任何信息(所有…)都很复杂,我们将在下一个维护阶段查看它。