尝试发送Solace消息时,我试图处理某些SessionEventArgs中的QueueNotFound错误。
以下是调试时SessionEventArgs的外观: SessionEventArgs info
响应代码返回400,但我担心该代码被用于除QueueNotFound之外的错误。
除了检查“Queue Not Found”的信息字符串之外,还有其他方法断言错误确实与Solace队列不存在有关吗?
答案 0 :(得分:3)
您可以在会话事件委托中调用ContextFactory.Instance.GetLastSDKErrorInfo()方法。这将返回一个SDKErrorInfo实例,其中包含有关报告的会话事件的更多信息。
SDKErrorInfo实例有一个SubCode字段,用于指示确切的错误类型。如果错误是Queue Not Found,则子代码枚举将是SDKErrorSubcode.QueueNotFound。您可以在Solclient.chm帮助文档中查看所有SDKErrorSubcode枚举的列表,以及它们的相关响应代码。
有一个明显的例子,说明如何利用Solace .NET API打包的Replication.cs示例中的ContextFactory.Instance.GetLastSDKErrorInfo()方法。