3

Solace メッセージを送信しようとしたときに、一部の SessionEventArgs で QueueNotFound エラーを処理しようとしています。

デバッグ中にSessionEventArgsがどのように見えるかを次に示します。

応答コードは 400 として返されますが、そのコードが QueueNotFound 以外のエラーに使用されていないか心配です。

「Queue Not Found」の情報文字列を確認する以外に、エラーが実際に Solace キューが存在しないことに関係していると断言する方法はありますか?

4

1 に答える 1

2

セッション イベント デリゲート内から ContextFactory.Instance.GetLastSDKErrorInfo() メソッドを呼び出すことができます。これにより、報告されたセッション イベントに関する詳細情報を含む SDKErrorInfo インスタンスが返されます。

SDKErrorInfo インスタンスには、エラーの正確なタイプを示す SubCode フィールドがあります。エラーが Queue Not Found の場合、サブコード列挙は SDKErrorSubcode.QueueNotFound になります。Solclient.chm のヘルプ ドキュメントで、すべての SDKErrorSubcode 列挙と関連する応答コードの一覧を確認できます。

Solace .NET API にパッケージ化されている Replication.cs サンプルには、ContextFactory.Instance.GetLastSDKErrorInfo() メソッドを使用する方法の明確な例があります。

于 2015-12-03T16:38:52.103 に答える