Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core IBM MQ传输类型管理工作,但客户端不工作_.net Core_Ibm Mq - Fatal编程技术网

.net core IBM MQ传输类型管理工作,但客户端不工作

.net core IBM MQ传输类型管理工作,但客户端不工作,.net-core,ibm-mq,.net Core,Ibm Mq,我的客户端连接正在使用 MQC.TRANSPORT_PROPERTY = MQC.TRANSPORT_MQSERIES_MANAGED 但不适用于: MQC.TRANSPORT_PROPERTY = MQC.TRANSPORT_MQSERIES_CLIENT 当我遇到这个错误时: 返回MQC.TRANSPORT\u MQSERIES\u客户端不支持的MQRC\u函数 我想控制提交和回滚,所以我决定更改传输类型,但它不支持。为什么会这样 我正在.netcore项目中使用dll=>amqmdne

我的客户端连接正在使用

MQC.TRANSPORT_PROPERTY = MQC.TRANSPORT_MQSERIES_MANAGED
但不适用于:

MQC.TRANSPORT_PROPERTY = MQC.TRANSPORT_MQSERIES_CLIENT
当我遇到这个错误时:

返回MQC.TRANSPORT\u MQSERIES\u客户端不支持的MQRC\u函数

我想控制提交和回滚,所以我决定更改传输类型,但它不支持。为什么会这样

我正在.netcore项目中使用dll=>amqmdnetstd.dll 9.1.2

代码摘要

Hashtable connectionProperties = new Hashtable();
connectionProperties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);
connectionProperties.Add(MQC.PORT_PROPERTY, "5577");
connectionProperties.Add(MQC.HOST_NAME_PROPERTY, hostName);
connectionProperties.Add(MQC.CHANNEL_PROPERTY, channel);

MQQueueManager qMgr = new MQQueueManager(qManager, connectionProperties);

IBM MQ类for.NET标准仅支持
传输\u MQSERIES\u管理
模式

请参阅IBM MQ知识中心页面

用于.NET Framework的IBM MQ类和用于.NET标准功能的IBM MQ类

下表列出了适用于.NET Framework的IBM MQ类和.NET标准的IBM MQ类的IBM MQ 9.1.1版的功能

表1。用于.NET Framework的IBM MQ类与用于.NET标准功能的IBM MQ类之间的差异

Feature         | IBM MQ classes for .NET Framework | IBM MQ classes for .NET Standard
----------------+-----------------------------------+----------------------------------
Transport Modes | Managed, Unmanaged, and Bindings  | Managed
如果要使用
TRANSPORT\u MQSERIES\u CLIENT
模式,则需要切换到
amqmdnet.dll
,该模式仅适用于.NET Framework,并已由IBM稳定,请参阅IBM MQ知识中心页面

在IBM MQ 9.1.1版中,amqmdnetstd.dll库可用于Windows上的.NET标准支持(请参阅为.NET标准安装IBM MQ类。仍然提供了amqmdnet.dll库,但此库已稳定;即,不会向其中引入新功能。对于任何最新功能,必须迁移到amqmdnetstd.dll库。但是,您可以在IBM MQ版本上继续使用amqmdnet.dll库在9.1长期支持或连续交付版本上


用于.NET标准的IBM MQ类仅支持传输\u MQSERIES\u托管模式。这是对使用'queueManager.Backout();''的限制吗?托管模式应支持同步点和提交/回退,您能解释一下您的要求吗?我想使用queueManager.commit()和queueManager.Backout()从队列中获取10条消息并运行Backout()代码但回滚不起作用。如果我运行Backout 10,消息应保持队列,但不能。客户端传输类型为MQC.transport_MQSERIES_MANAGED getOptions为MQC.MQOO_OUTPUT+MQC.MQGMO_SYNCPOINT+MQC.MQOO_FAIL_If_quiescing是否可以打开新问题并在问题中显示代码示例。MQOO不是GET选项,而是打开选项s、 我认为你混淆了两件事。不过这将是一个新问题,我已经回答了你原来的问题。新问题在@JoshMc打开