Solace QueueNotFound 响应代码

Solace QueueNotFound response code

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

调试时 SessionEventArgs 的外观如下: SessionEventArgs info

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

除了检查 "Queue Not Found" 的信息字符串之外,是否有任何其他方法可以断言该错误确实与 Solace 队列不存在有关?

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

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

在与 Solace .NET API.

打包在一起的 Replication.cs 示例中,有一个清楚的示例说明如何使用 ContextFactory.Instance.GetLastSDKErrorInfo() 方法