3

在尝试发送 Solace 消息时,我正在尝试处理某些 SessionEventArgs 中的 QueueNotFound 错误。

以下是调试时 SessionEventArgs 的外观: SessionEventArgs info

响应代码返回为 400,但我担心该代码用于 QueueNotFound 以外的错误。

除了检查“未找到队列”的信息字符串之外,还有其他方法可以断言该错误确实与不存在的 Solace 队列有关吗?

4

1 回答 1

2

您可以从会话事件委托中调用 ContextFactory.Instance.GetLastSDKErrorInfo() 方法。这将返回一个 SDKErrorInfo 实例,其中包含有关报告的会话事件的更多信息。

SDKErrorInfo 实例有一个 SubCode 字段,它将指示错误的确切类型。如果错误为 Queue Not Found,则子代码枚举将为 SDKErrorSubcode.QueueNotFound。您可以在 Solclient.chm 帮助文档中查看所有 SDKErrorSubcode 枚举及其相关响应代码的列表。

在与 Solace .NET API 一起打包的 Replication.cs 示例中,有一个关于如何使用 ContextFactory.Instance.GetLastSDKErrorInfo() 方法的清晰示例。

于 2015-12-03T16:38:52.103 回答