2009-03-25 9 views
0

私はいくつかのWCFサービスをホストするアプリケーションを持っています。私は完全に動作しているカスタムServiceAuthorizationManagerを作成しました。 OperationContext.IncomingMessageHeadersのいくつかの要素を調べて、ユーザー名とパスワードを取得します。これは、私たちがプラットフォームに組み込まれているものを使用することを許さない環境のいくつかの制限を克服することでした。マネージャはカスタムのIPrincpalをいくつかの必要なカスタムオブジェクトとともに作成し、後でWCFビジネスロジックで使用するために、現在実行中のスレッドに配置します。これは素晴らしい仕事です。ワークフローのカスタムプリンシパルを使用

問題は、ワークフローであるWCFサービスがあり、そこに同じメカニズムを使用する必要があるということです。マネージャは正しく呼び出されていますが、スレッドのcurrentPrincpalを実行するときに私のカスタムプリンシパルではありませんが、genericprincipalです。調査によると、ワークフローランタイムはスレッドを作成しており、WCF呼び出しが入ったスレッドは使用していません。

誰もがこの問題に遭遇しましたが、それに良い解決策がありますか?

答えて

0

ランタイムはマネージャーと同じアプリケーションドメインにある場合、あなたはより多くの情報

ため hereを参照してください

AppDomain.CurrentDomain.SetThreadPrincipal 

を呼び出すことができるはずです

関連する問題