2015-12-01 3 views
3

Я пытаюсь обрабатывать ошибку QueueNotFound в некоторых SessionEventArgs при попытке отправить сообщение Solace.Solace QueueNotFound response code

Вот как SessionEventArgs выглядеть во время отладки: SessionEventArgs info

код Отклик возвращается как 400, но я опасаться этого кода используется для целей, отличных QueueNotFound ошибок.

Помимо проверки информационной строки для «Queue Not Found», есть ли другой способ утверждать, что ошибка действительно связана с отсутствием очереди Solace?

ответ

3

Вы можете вызвать метод ContextFactory.Instance.GetLastSDKErrorInfo() из вашего делегата события сеанса. Это вернет экземпляр SDKErrorInfo, который содержит больше информации о сообщенном событии сеанса.

Экземпляр SDKErrorInfo имеет поле SubCode, которое указывает точный тип ошибки. Если ошибка Queue Not Found, то перечисление субкода будет SDKErrorSubcode.QueueNotFound. Вы можете проверить справочный документ Solclient.chm для списка всех перечислений SDKErrorSubcode, а также связанных с ними кодов ответов.

Существует ясный пример использования метода ContextFactory.Instance.GetLastSDKErrorInfo() в образце Replication.cs, который упакован с помощью Solace .NET API.

+0

Спасибо за ваш ответ. Это очень полезно. Можно ли несколько раз вызвать вызов ContextFactory.Instance.GetLastSDKErrorInfo() или есть причина, по которой я должен минимизировать количество раз, когда я это называю? – nmit

Смежные вопросы