「ImpersonationOption.Required」を使用したWCFサービスがあります。並列処理を使用すると、なりすましが流れないように見えます。例えば:
Parallel.ForEach(items => results.Add(SystemUtil.WindowsUser.Name)
偽装されたユーザーの番号と、アプリプールユーザーの番号を返します。なりすましを並列処理で機能させることはできますか?
一番、
マーク
アップデート:
これは、IISサービス側の実際のコードです。
[OperationBehavior(Impersonation = ImpersonationOption.Required)]
public string[] WhoAmI(int numOfTests)
{
var tests = new List<int>();
for (var i = 0; i < numOfTests; i++)
tests.Add(i);
var results = new ConcurrentBag<string>();
Parallel.ForEach(tests, (test) => results.Add(WindowsIdentity.GetCurrent(false).Name));
return results.ToArray();
}
numOfTests = 10を渡すと、10個のタスクが生成され、各タスクのWindowsIndentity名が返されます。私が得ているのは、「IIS APPPOOL.NET v4.0」の約70%と私です。
IDが常にParallel.ForEachになるように設定するにはどうすればよいですか?
ありがとう!