【问题标题】:Solace QueueNotFound response codeSolace QueueNotFound 响应代码
【发布时间】:2015-12-04 00:38:52
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# .net solace


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的回答。这是非常有帮助的。多次调用 ContextFactory.Instance.GetLastSDKErrorInfo() 是否安全,或者是否有理由尽量减少调用次数?
    猜你喜欢
    • 2013-05-18
    • 2020-11-12
    • 2017-12-06
    • 1970-01-01
    • 2021-11-06
    • 2020-01-15
    • 2014-02-10
    • 1970-01-01
    相关资源
    最近更新 更多