gpt4 book ai didi

.net - 如何使用 web.config 为 .net Web 应用程序指定 WebSphere MQ channel 表位置

转载 作者:行者123 更新时间:2023-12-01 06:46:30 27 4
gpt4 key购买 nike

我已经在这个问题上兜了一圈。我正在尝试使用提供的 channel 表文件连接到分布式队列管理器。如果我在我的服务器上指定环境变量 MQCHLLIB 和 MQCHLTAB,我可以让它工作。但是,IBM 文档指出 .net 配置文件可以覆盖这些变量。

这是我在 web.config 文件中放置的内容:

...
<configSections>
<section name="CHANNELS" type="System.Configuration.NameValueSectionHandler" />
</configSections>

<CHANNELS>
<add key="ChannelDefinitionDirectory" value="C:\temp"></add>
<add key="ChannelDefinitionFile" value="DSM_MOM_TEST.tab"></add>
</CHANNELS>
...

这是正在执行的代码:
Hashtable properties = new Hashtable();
//Add managed connection type to parameters.
const String connectionType = MQC.TRANSPORT_MQSERIES_CLIENT;
properties.Add(MQC.TRANSPORT_PROPERTY, connectionType);
return new MQQueueManager(queueManagerName, properties);

queueManagerName 设置为通用队列管理器“*Q101T”。

但是,这不起作用,我收到错误返回:2058 MQRC_Q_MGR_NAME_ERROR

除了环境变量之外,我一直找不到关于如何使其工作的更多文档,并且标准 mqclient.ini 应该被 web.config 中的 channel 节覆盖。

我在代码中遗漏了什么吗?任何提示将非常感谢。

编辑:我已将 connectionType 更改为 MQC.TRANSPORT_MQSERIES_MANAGED 并且我正在克服我遇到的错误。但是,我现在收到返回的 I/O 错误:

System.IO.IOException was unhandled by user code Message="I/O error occurred." Source="amqmdnet"
StackTrace: at IBM.WMQ.MQChannelTable.CreateChannelEntryLists(MQChannelListEntry nameList)



我认为这很可能与 https://www-304.ibm.com/support/docview.wss?uid=swg1IC69174有关所以我现在正在等待中间件人员确认是否是这种情况,并希望为我提供一个新的 .TAB 文件......

编辑 2 看起来这不是问题。我运行了一个 MQ 跟踪,它出错了,因为它找不到 AMQCLCHL.TAB 文件。我不明白为什么它仍在寻找这个文件。它应该使用在我的 web.config 中指定的 channel 表。有谁知道为什么它没有获取这些值?

最佳答案

.Net 配置文件仅用于托管客户端连接类型,因此切换到托管模式绝对是朝着正确方向迈出的一步。现在的问题是应用程序是否实际上在托管模式下运行。 Defining which connection type to use中描述了一个决策树信息中心的部分。请注意,在某些情况下,托管连接可以回退到非托管连接。我建议浏览本节以查看这些情况是否适用。

或者,尝试在 mqclient.ini 文件中设置 channel 表。此值在未被 .Net 配置文件覆盖时使用。如果在此处设置值有效,那么它确认 .Net 配置文件中的值被忽略,大概是因为应用程序在非托管模式下运行。

关于.net - 如何使用 web.config 为 .net Web 应用程序指定 WebSphere MQ channel 表位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4682027/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com