Tag: dns

从C#中的URL中提取域名

这个问题在其他语言/平台上有答案,但我找不到C#的强大解决方案。 在这里,我正在寻找我们在WHOIS使用的URL部分,因此我对子域,端口,架构等不感兴趣。 Example 1: http://s1.website.co.uk/folder/querystring?key=value => website.co.uk Example 2: ftp://username:password@website.com => website.com 当whois中的所有者是相同的时,结果应该是相同的,因此sub1.xyz.com和sub2.xyz.com都属于拥有xyz.com的人,我需要从URL中提取。

从任何URL获取确切的域名

我需要从任何Url中提取确切的域名。 例如, url: http : //www.google.com – >域名:google.com url: http : //www.google.co.uk/path1/path2 – >域名:google.co.uk 怎样才能在c#中实现? 是否有完整的TLD列表或该任务的解析器?

如果您被迫使用Anemic域模型,那么您在哪里放置业务逻辑和计算字段?

我们当前的O / RM工具并不真正允许丰富的域模型,因此我们不得不在各地使用贫血(DTO)实体。 这工作得很好,但我仍然在努力放置基于对象的基本业务逻辑和计算字段。 当前图层: 介绍 服务 知识库 数据/实体 我们的存储库层具有大多数基本的提取/validation/保存逻辑,尽管服务层执行了许多更复杂的validation和保存(因为保存操作也执行日志记录,权限检查等)。 问题是在哪里放置这样的代码: Decimal CalculateTotal(LineItemEntity li) { return li.Quantity * li.Price; } 要么 Decimal CalculateOrderTotal(OrderEntity order) { Decimal orderTotal = 0; foreach (LineItemEntity li in order.LineItems) { orderTotal += CalculateTotal(li); } return orderTotal; } 有什么想法吗?

有没有办法从C#WPF应用程序刷新DNS缓存? (在XP,Vista,Win7上)

有没有办法从C#WPF应用程序刷新DNS缓存? 该应用程序将在XP,Vista或Windows 7上运行。

解析Domain / hostName的字符串

客户可以从域名进入网站。 他们也可以从他们的联系人那里进入mailadresses。 知道我们需要找到哪些网站webose域可以与mailadresses的域相关联。 所以我的想法是从webadress和url中提取主机并进行比较 那么从url获取主机名的最可靠算法是什么? 例如,主机可以是: foo.com www.foo.com http://foo.com https://foo.com https://www.foo.com 结果应该始终是foo.com

如何在具有多个树的AD林中的全局编录中搜索用户

我有以下带有两棵树的AD森林: 域1。 有两个子域Domain2和Domain3 Domain4。 没有子域名。 Domain1的DNS名称是domain1.local 。 Domain4的DNS名称是domain4.local 。 在每个域中都有一个启用了全局编录的域控制器。 我正在尝试通过其SID从域4获取UserPrincipal。 该程序从Domain2中的计算机运行。 我使用以下代码: // Running on some machine from Domain2 PrincipalContext context = new PrincipalContext( ContextType.Domain, “dc2.domain2.domain1.local:3268”, // Using Global Catalog port and local domain controller “DC=domain1, DC=local”, // I guess the problem is here “domain1\\super-admin”, // User has all necessary rights across all domains […]

以编程方式将Windows计算机加入AD域

这与此问题类似,但不是欺骗 – 但是,它寻求有关手动将服务器加入域(并且被正确重定向)的信息,我正在寻找有关以编程方式将计算机连接到域的某些代码的帮助。 方案是我们有一个启动器服务来实例化Amazon EC2 Server2008R1 VM,可选择通过User-Data流传递Machine Name。 我们的映像中会出现一个流程,用于在启动时检查用户数据的名称 – 如果不存在,则VM仍在我们的云域之外,但如果存在该名称,则将计算机重命名为指定并自动加入域名。 这是问题所在 – 如果我在实例启动后的任何时候手动运行此过程,它的工作方式完全如上所述; 机器名称已更改,并且VM已加入域(我们强制重新启动以实现此目的)。 但是,当作为计划任务(在启动时触发)运行时,机器重命名按预期发生,但随后对JoinDomainOrWorkgroup调用(见下文)通过EC2而不是新名称获取给VM的旧随机机器名称刚被分配。 这导致WMI返回代码为8525 ,我们在AD存储库(该随机名称)中获得了一个断开连接的错误名称条目,并且该机器未加入该域。 然后VM重新启动,第二次通过启动过程(exception触发,因为User-Data中有内容,但机器尚未在域中)执行所有相同的步骤并成功。 看起来机器名称在第一次传递中设置但未“最终确定”,并且JoinDomainOrWorkgroup仍然看到原始名称。 在第二次传递时,计算机名已正确设置,因此JoinDomainOrWorkgroup按预期工作。 很明显为什么这个过程在启动过程中会以这种方式运行,但是在已经启动的VM上手动运行时效果很好,我认为是问题的核心。 我已经尝试在重命名和连接步骤之间插入一个延迟,以防在重命名在幕后完成之前调用JoinDomainOrWorkgroup ,但这没有帮助 – 我并没有真正期望它,因为整个手动运行时,过程完美无缺。 因此,它可能是启动期间机器状态的细微差别和代码中的愚蠢差异的组合。 也许在SetDomainMembership方法中使用System.Environment.MachineName是不可取的? 但即使我将新名称作为字符串传递给SetMachineName ,它SetMachineName 。 所以我很难过。 这是重命名机器的WMI代码: /// /// Set Machine Name /// public static bool SetMachineName(string newName) { _lh.Log(LogHandler.LogType.Debug, string.Format(“Setting Machine Name to ‘{0}’…”, newName)); // Invoke WMI […]

通过C#代码管理DNS服务器

我需要一些示例代码来通过C#在Microsoft DNS服务器中创建/删除区域和A记录

指定在.NET中用于解析主机名的DNS服务器

我想知道是否有办法强制System.Net.Dns类使用一组自定义DNS服务器来解析主机名,而不是使用与主网络连接相关联的服务器。 我怀疑这只能使用像DnDns( http://dndns.codeplex.com )这样的自定义库,但我希望这可以在.NET中完成。

使用Sharepoint API获取AD域组的成员

在我的Sharepoint代码中,我通过以下方式显示所有已定义用户的列表: foreach (SPUser user in SPContext.Current.Web.AllUsers) { … } 最重要的是,我可以将域安全组添加到Sharepoint组(如访问者),从而一次添加许多用户(更简单的管理)。 但是我的代码在第一次登录之前至少没有看到这些用户(如果他们有足够的权限)。 在这种情况下,我只能看到域安全组SPUser对象实例,其IsDomainGroup设置为true 。 是否有可能通过Sharepoint获取域组成员而无需借助Active Directory查询(这是我宁愿避免的,因为您可能需要足够的权限来执行此类操作=更多管理:Sharepoint权限+ AD权限)。