gpt4 book ai didi

c# - 使用 NetBios 名称的受信任域的 PrincipalContext.ValidateCredentials 速度慢

转载 作者:太空狗 更新时间:2023-10-30 01:10:17 24 4
gpt4 key购买 nike

我创建了一项服务,该服务使用 System.DirectoryServices.AccountManagement 根据 Active Directory 验证凭据。我需要针对本地域和受信任的域验证凭据。在我的计算机上运行时,本地域和受信任域的凭据验证响应时间都很快。当我将此服务移至我们的服务器时,本地域响应很快,但受信任域响应非常慢(20 - 30 秒)。

我还发现,如果我将 PrincipalContext 中的域名从 NetBios 名称更改为 DNS 名称,它会纠正服务器上的性能问题。

举几个例子

PrincipalContext context = new PrincipalContext(ContextType.Domain, sNetBiosName)
context.ValidateCredentials(sUsername, sPassword)

在服务器上,使用 NetBios 名称执行上述操作需要 20-30 秒

PrincipalContext context = new PrincipalContext(ContextType.Domain, sDNSName)
context.ValidateCredentials(sUsername, sPassword)

使用 DNS 名称,响应时间为 0-2 秒

关于需要在服务器上设置什么以使用 NetBios 名称加快速度的任何想法?

最佳答案

NetBIOS 在大型网络中是出了名的慢。 Here explains NetBIOS 名称解析是如何工作的。通常,Windows 会尝试按以下顺序解析 NETBIOS 名称。

  1. 本地缓存
  2. lmhosts 文件
  3. WINS 服务器
  4. 网络广播

因此,您可以看到可以提高 NetBIOS 名称解析速度的一件事是编辑服务器上的 lmhosts 文件,这样您就可以将网络完全排除在外。关注这个Microsoft KB将您的域和 PDC 添加到您的 lmhosts 文件。

关于c# - 使用 NetBios 名称的受信任域的 PrincipalContext.ValidateCredentials 速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5044243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com