web.configでimpersonation="true"を使用するように設定されている既存のアプリケーションに、EntityFrameworkとASP.NETDynamic Dataを組み込んでいますが、以前の開発者は、それぞれのアプリプールIDに戻るアプローチを選択しました。彼らが行ったDAL呼び出し
private WindowsImpersonationContext context = null;
public void RevertToAppPool()
{
if (!WindowsIdentity.GetCurrent().IsSystem)
{
context = WindowsIdentity.Impersonate(System.IntPtr.Zero);
}
}
public void UndoImpersonation()
{
if (context != null)
{
context.Undo();
}
}
Entity Frameworkを使用している間、この動作を維持するように求められました...エンティティオブジェクトがあらゆる場所で使用されている場合(LINQ to EFクエリ、手動呼び出し、フレームワークによる舞台裏の呼び出しなど)、すべての呼び出しに対してRevertToAppPoolとUndoImpersonationを適切に呼び出すために、部分クラスの適切な場所はどこにありますか?