1

ステート マシン ワークフローをホストするために WorkFlowServiceHost (.net 3.5) を使用しています。WCF 受信アクティビティを使用して、ワークフローへの呼び出しを処理します。メッセージヘッダーの情報に基づいて、WCF 承認ポリシーを使用して、受信要求にクレームを添付しています。したがって、チェーンをさらに下ると、ServiceSecurityContext または Thread.CurrentPrincipal のみを使用して、リクエスト (ロール、ユーザーなど) に関する承認情報を取得できます。

実行する作業があるときにランタイム エンジンが発生させるイベント (つまり、receiveactivity) を処理するために、ワークフローがさまざまなスレッドをディスパッチしているため、これがうまくいかないことはわかっています。リクエストに関するコンテキスト情報 (OperationContext) は、ワークフロー内では使用できなくなりました (作業がランタイム スレッドで実行される場合を除きます)。

私がやりたいことは、ワーカー スレッドが作成される前にリクエスト (OperationContext) に関する情報を取得し、ワーカー スレッドを取得してコンテキスト情報をそれに添付し、ワークフロー インスタンス内で使用できるようにすることです。

これを行うために処理できるランタイムに何らかのイベントが必要だと考えていますが、何も思いつきません。そして、私は手動のワークフロー スケジューラを使用したくありません。どんな助けでも大歓迎です。

ありがとう!

4

1 に答える 1

1

私はこれでかなり遅れていますが、「silverlight operationcontext」をグーグルで検索していて、SOの質問と、リンクしているブログ投稿を見つけました(Googleの結果で次々と)。それが役立つかどうかはわかりません(ほぼ2年後、彼は言います)。

私は WCF をあまり使用したことがなく、WFF もまったく使用していないため、このリンク以外に追加することはあまりありません。

于 2010-12-02T21:41:17.770 に答える