私はいくつかの操作でWCFサービスを持っています。 各操作は、「PrincipalPermission」タグ、このような何かしています「プリンシパルアクセス許可の要求に失敗しました」というWCFクライアントのフォールトを防ぐ方法を教えてください。
[PrincipalPermission(SecurityAction.Demand, Role = "Administrator")]
public ProductsDto GetAllProducts()
{
// Do operation here ...
}
問題がある - ユーザーがロール「Administratir」の一部でない場合 - サービスは、プリンシパルの例外
リクエストを投げます許可が失敗しました
これは、クライアントのチャネルを「フォールト」状態に破損します。
私は何とかこれをキャッチし、クライアントが、彼はチャンネルをフォルトせずに、彼はいけない何かをしようとした知っているように、クライアントに「障害」というメッセージ、
を送信できるようにしたいです!
私は操作の中で 'try-catch'ブロックを使用しようとしましたが、助けにはなりませんでした。 例外は、操作自体の外部で発生します。
どうすればこの問題を解決できますか?
60秒ごとに発生するポーリングメカニズムがあり、クライアントがユーザー名とパスワードを入力する必要があり、それらを保存したくないため、リクエストごとにクライアントを開きたくないクライアントのメモリに保存します。 IErrorHandlerが私の問題を解決する方法についてもう少し詳しく説明できますか?どのようにPRINCIPALエラーをキャッチし、クライアントにフォールトを起こすことなく適切なメッセージを送信できますか? –