2015-12-01 60 views
3

我試圖在發送Solace消息時處理某些SessionEventArgs中的QueueNotFound錯誤。Solace QueueNotFound響應代碼

這裏的SessionEventArgs如何看待在調試時: SessionEventArgs info

響應代碼回來爲400,但我警惕代碼被用於除QueueNotFound其他錯誤。

除了檢查「未找到隊列」的信息字符串外,還有其他方式斷言錯誤確實與Solace隊列不存在有關嗎?

回答

3

您可以在會話事件委託中調用ContextFactory.Instance.GetLastSDKErrorInfo()方法。這將返回一個SDKErrorInfo實例,其中包含有關報告的會話事件的更多信息。

SDKErrorInfo實例有一個SubCode字段,用於指示錯誤的確切類型。如果錯誤是Queue Not Found,則子代碼枚舉將是SDKErrorSubcode.QueueNotFound。您可以在Solclient.chm幫助文檔中查看所有SDKErrorSubcode枚舉的列表及其相關的響應代碼。

有一個清楚的例子,說明如何在與Solace .NET API一起打包的Replication.cs示例中使用ContextFactory.Instance.GetLastSDKErrorInfo()方法。

+0

感謝您的回答。這非常有幫助。使ContextFactory.Instance.GetLastSDKErrorInfo()調用多次是安全的,還是有一個原因,我應該儘量減少我調用它的次數? – nmit