我的團隊使用IIS Express在VS 2013的調試,我查詢Active Directory時的廣告組正在以下錯誤:查詢AD拋出System.Runtime.InteropServices.COMException
類型的異常「 System.Runtime.InteropServices.COMException」發生在System.DirectoryServices.AccountManagement.dll但在用戶代碼中沒有處理
其他信息:多個連接到服務器或由同一用戶共享 資源,使用一個以上的用戶名稱,不允許 。斷開與服務器的所有以前連接或共享 資源,然後重試。
在下面的代碼中,錯誤是由GetAuthorizationGroups()
引發的。
代碼:
public List<String> GetAllADGroups(String userName)
{
List<String> groups = new List<String>();
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, this.Domain, this.LDapUserName, this.LDapPassword);
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, userName);
// error on next line
foreach(Principal group in user.GetAuthorizationGroups().OrderBy(x => x.Name))
{
if (group.ContextType == ContextType.Domain && !String.IsNullOrEmpty(group.Name))
{
groups.Add(group.Name);
}
}
ctx.Dispose();
return groups;
}
由於這個項目是在TFS,我從他們的開發服務器上運行該代碼3名開發人員。我只在其中一臺服務器上收到此錯誤。在引發此錯誤的服務器上;當我從IIS運行該網站時,代碼工作正常。因此,它使我想到的問題是與下列之一:
- IIS快遞
- 服務器配置
- VS 2013配置
任何幫助表示讚賞。