IIS でホストされている WCF サービスで Threading.Timer を使用しています。web.config では、ID の偽装が Windows ドメイン ユーザーに対して有効になっています。
Thread Timer は、Delayed DB Update の呼び出しと電子メールの送信に使用されます。
問題は、
コールバック内では、現在のスレッドの ID がデフォルトで IIS プロセスの ID に設定されます。(web.config ファイルで指定された偽装 ID ではありません)
したがって、偽装がない場合、DB 呼び出しは「ユーザーのログインに失敗しました...」というエラーで失敗します。(私のSQLは「統合認証」で構成されています)
なりすまし ID でコールバックを機能させる方法はありますか?? Timer クラスが CallBack で ID を偽装していないのはなぜですか??
ありがとう、
サム。