Ошибка недопустимого дескриптора при вызове конструктора MQQueueManager в .NET C #

При вызове следующего фрагмента кода у меня возникла, казалось бы, случайная ошибка «Дескриптор недействителен»:

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)
   ...

Любые идеи ? Кто угодно ? :)


person Laurent PerrucheJ    schedule 19.05.2014    source источник


Ответы (1)


Это исправление может вам помочь. Вы скачали последнюю версию клиента MQ для v7.1?

person Shashi    schedule 19.05.2014
comment
Спасибо за Ваш ответ. К сожалению, кроме того, что это клиент v7.1, у меня нет другой информации о версии, установленной на сайте. Поскольку с этим клиентом сложно получить какую-либо информацию (вообще ...), мы рассмотрим ее на следующем этапе обслуживания. - person Laurent PerrucheJ; 20.05.2014