Невозможно подключиться к MQ с помощью amqmdnetstd.dll - PullRequest
0 голосов
/ 04 февраля 2020

Я получаю исключение "MQRC_Q_MGR_NOT_AVAILABLE" при выполнении приведенного ниже кода при использовании amqmdnetstd.dll из диспетчера пакетов NuGet. Однако, когда я использую amqm dnet .dll , я не вижу никаких исключений. Причина, по которой я хочу придерживаться amqmdnetstd.dll, заключается в том, что он доступен в пакете NuGet, и я могу развернуть код на любом сервере, не беспокоясь об установке IBM Websphere на каждом развертываемом сервере.

        string QueueManagerName = ConfigurationManager.AppSettings["QueueManagername"];
        Hashtable properties = new Hashtable();
        properties.Add(MQC.HOST_NAME_PROPERTY, ConfigurationManager.AppSettings["Connection"]);
        properties.Add(MQC.PORT_PROPERTY, ConfigurationManager.AppSettings["PortNo"]);
        properties.Add(MQC.CHANNEL_PROPERTY, ConfigurationManager.AppSettings["Channelname"]);
        properties.Add(MQC.MQCA_TOPIC_NAME, ConfigurationManager.AppSettings["Queuename"]);
        properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED);

        queueManager = new MQQueueManager(QueueManagerName, properties);

Есть ли какая-то причина, почему существует разница в поведении двух DLL?

1 Ответ

0 голосов
/ 19 марта 2020

Согласно комментариям в конце этой страницы Центр знаний IBM: установка классов IBM MQ для. NET Стандарт . Кажется, есть проблема с v9.1.4 из amqmdnetstd.dll - проблема, опубликованная на nuget .

Большинство людей, кажется, обойти проблему путем понижения. Это требует, чтобы вы загрузили предыдущую версию клиента и включили dll в ваш проект, поскольку IBM только начала публиковать в nuget с v9.1.4.

...