Web システムを Windows 認証に移行しました。本番環境にデプロイした後、メモリリークに直面しました。poolmon.exe ユーティリティを使用して、ページ プール メモリ リーク (タグ Toke) であると定義しました。最近の変更では、次の 2 つのメソッドのみを追加しました。
using System.DirectoryServices.AccountManagement;
private bool IsLoginValid(string login, string password)
{
bool isValid = false;
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domainName))
{
isValid = pc.ValidateCredentials(login, password);
}
return isValid;
}
private bool isMemberOf(string login, string group)
{
bool result = false;
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, domainName))
{
using (UserPrincipal user = UserPrincipal.FindByIdentity(pc, IdentityType.SamAccountName, login))
{
if (user != null)
{
result = user.IsMemberOf(pc, IdentityType.Name, group);
}
}
}
return result;
}
漏れの正確なポイントを特定し、可能であれば回避策を提供してください。ありがとうございました。