Visual C#构建网络计算机树形图

Visual C#编写网络应用程序一般会使用到.Net FrameWork SDK中提供的二个重要的网络命名空间"System.Net"和"System.Net.Sockets"。其实Visual C#还是可以通过调用其他命名空间中的类库来实现很多有用的网络功能,最常见的命名空间就是"System.DirectoryServices","System.DirectoryServices"命名空间定义了"DirectoryEntry"和"DirectorySearcher"类,通过它们能够访问 Active Directory服务接口(简称ADSI)。Active Directory服务接口提供一种构造复杂计算机网络的简单方法。Active Directory服务接口系统以分层树状结构排列。每个节点表示网络上的一个资源或服务(对应网络中的域或工作组),并且这个节点包含一组可检索和操作的属性(对应网络中的主机)。本文就是通过它们来实现一个比较有用的网络功能--构建一个网络组成的计算机树形结构图。

一.Active Directory服务接口和DirectoryEntry类

Active Directory服务接口是Microsoft Windows Active Directory的编程接口。它允许应用程序使用单个接口与网络上的不同目录进行交互。Visual C#是通过创建DirectoryEntry和 DirectorySearcher能够轻松访问这个接口。而这种操作对其他编程语言而言,却意味着要调用需要WinAPI函数。

Active Directory服务接口可以实现很多操作,本文所实现的访问Active Directory树,以构建网络配置的计算机分层树形结构图,只是其中的一个很小的部分。若要使用Active Directory服务接口,必须在客户端计算机上安装 ADSI 2.5或更高版本。Windows 2000自动安装了ADSI 2.5,而对Win 98及以下的系统,则没有安装ADSI 2.5,这也就是下面介绍的这个网络功能无法获得系统是Win 98及以下操作系统在网络树形图对应的位置。所以下面介绍的网络功能成功构建网络的计算机树形图前提之一就是网络上的计算机的操作系统在Windows 2000及以上。

由于本文只使用了DirectoryEntry类,故只介绍DirectoryEntry的结构和使用方法,表01和表02是DirectoryEntry类常用属性、常用方法及其说明:

属性 说明
AuthenticationType 获取或设置要使用的身份验证的类型。
Children 获取DirectoryEntries实例,它包含Active
Name 获取用基础目录服务命名的对象的名称。
NativeObject 获取本机Active Directory服务接口(ADSI)对象。
Parent 获取Active Directory层次结构中的此项的父级。
Password 获取或设置在对客户端进行身份验证时使用的密码。
Path 获取或设置此DirectoryEntry的路径。
Properties 获取在此对象上设置的属性的PropertyCollection。
SchemaClassName 获取用于此DirectoryEntry的架构的名称。
SchemaEntry 获取DirectoryEntry,它保存此项的架构信息。项的架构确定其强制属性和可选属性的名称的列表。
UsePropertyCache 获取或设置一个值,该值指示在每次运算之后是否应提交缓存。
Username 获取或设置在对客户端进行身份验证时使用的用户名。

表01:DirectoryEntry类的常用属性及其说明

方法 说明
Close 关闭DirectoryEntry并释放与此组件关联的任何系统资源。
CommitChanges 保存对Active
CopyTo 创建此项的副本,并将其作为指定父级的子项。
DeleteTree 从Active Directory层次结构中删除此项及其整个子树。
Exists 搜索指定路径处的目录存储区,以查看是否存在项。
Invoke 在本机Active Directory上调用方法。
MoveTo 将此项移至指定父级。
RefreshCache 将此目录项的属性值加载到属性缓存中。
Rename 更改此项的名称。

表02:DirectoryEntry类的常用方法及其说明

时间: 2024-08-02 18:27:43

Visual C#构建网络计算机树形图的相关文章

用 Xamarin 和 Visual Studio 构建 iOS 应用

本文讲的是用 Xamarin 和 Visual Studio 构建 iOS 应用, 当创见一个 iOS 的应用程序的时候,开发者们一贯倾向于使用那些由 Apple 公司提供的编程语言和 IDE: Objective-C /Swift 和 Xcode.然而,这并不是唯一的选择 - 你还可以通过使用很多其他的编程语言和框架去创建一个 iOS 应用程序. Xamarin 是最热门的选择方式之一,它是一个跨平台的开发框架,允许你使用 C# 和 Visual Studio 开发 iOS, Android,

微软开源 Visual Studio 构建工具 MSBuild

继 .NET 开源之后,微软又在 GitHub 上开放了其 Visual Studio 构建工具 MSBuild 的源代码. MSBuild 是 Visual Studio 中将源代码编译为程序的构建引擎,它为开发者提供自动化构建.性能测试和程序打包功能. 本次开源的版本与 Visual Studio 2015 中包含的版本类似,但存在部分不同.微软方面称将在后期逐步抹平差异. 此外,微软承诺会将 MSBuild 迁移至 Linux 和 Mac 平台上,以便开发者在其它平台使用 .NET 和 M

用Visual C++创建的高性能的Web应用程序和XML Web服务

C++是很多网络中繁忙站点的核心.这为构建中间层企业逻辑提供了高度的性能基础,经常用于扩展Web服务器和动态地生成HTML.今天使用Internet信息服务(IIS)和Visual Studio的开发人员可以通过动态服务器主网页(ASP)创建动态内容,通过ISAPI扩展IIS.但尽管ASP容易学,ISAPI只被相对较少的开发人员所使用,这主要是因为很难直接从象Visual C++这样的开发工具中进行定位,而且支持也仅限于库封装器和ISAPI扩展向导. ATL 服务器,包含在下一代Visual C

《Windows 8 开发权威指南:HTML5 和JavaScript卷》——1.4 Visual Studio 2012新特性

1.4 Visual Studio 2012新特性 1.4.1 Windows Microsoft Design样式应用程序1.设计和构建Microsoft Design Style样式应用程序通过1.3节我们对Microsoft Design样式应用程序有了一个基本的了解. 使用默认项目模板构建Microsoft Design样式应用程序,这些模板为不同的Microsoft Design样式应用程序提供了文件.资源和结构. 使用 XAML 和 C+ +.C# 或 Visual Basic构建M

辅助Visual Studio 2017部署的DevOps新工具

我们能看到Visual Studio 2017中的一个重大改进是对安装程序做了完全重写.前期的Visual Studio构建版本都是大一统的,完成安装需要相当长的时间和大量的磁盘空间.因此有需求要对安装过程做一些改进,这在本质上需要改进Visual Studio及其组件的检测方式. 正如Microsoft Heath Stewart所指出的:这些改进意味着即使前期版本所用的方法仍然可用,但已不再是最好的方法了,比如通过查询信息注册表项发现已安装的Visual Studio版本.现在推荐使用Vis

第1章 开发环境安装和配置(一):概述

原文 第1章 开发环境安装和配置(一):概述 目前Android在全世界市场上大约有75%的占有率,国人Android手机的持有比例更甚,甚至达到90%以上[网上找的介绍,不必在意]. 用C#开发手机应用程序,建议首选VS2015,这是因为VS2015内置的是C# 6.0,很多原来实现起来比较繁琐的操作,在VS2015下也都变得非常简单了. 1.跨平台移动应用开发 VS2015的移动跨平台采用Xamarin架构,这让原本就熟悉Visual Studio的开发者不用再熟悉其他的开发工具就能直接开发

Microsoft的 ASP 组件指南

microsoft 作者:J.D. MeierMicrosoft Corporation2000 年 1 月 24 日 简介 组件.有人喜欢它们,有人则害怕.害怕组件的人通常都能给您讲一个骇人的经历.让我们面对它:当开始在 ASP 下使用组件时,并不知道什么能伤害您.如果您摔倒了,那么站起来,自己拍干净,然后接着来.在这篇文章中,我将提供从实践中获得的一般指南,帮助您建立更好的基于组件的 ASP 解决方案. 为什么使用组件? 在我开始讨论组件指南之前,值得考虑将组件添加到 ASP 应用程序的价值

面向JavaScript和Dojo的AUIML呈现器

简介 用户界面最常见的任务之一是创建输入表单(即从用户处收集数据的面板).几年来,已经出现了多种能帮助设计人员和开发人员简化这项工作的工具,AUIML Toolkit 就是其中之一. 本文给出了 AUIML Toolkit 的概览,它通过将 AUIML 可视设计器的易用.直观的特性与 Dojo Toolkit 的多样性综合起来,让您能快速.轻松地开发 Web 2.0 界面. 何为 AUIML Toolkit? 基于 Abstract User Interface Markup Language(

使用正则表达式验证本地化数据

本文讨论将正则表达式与 Java ResourceBundle 相结合的一种数据验证技术 .Java 语言对正则表达式的支持可以大大简化数据验证.您可以将数据与正则 表达式进行比较,如果它们匹配,则知道数据是有效的.另一方面,Java ResourceBundle 包含翻译好的字符串,用于匹配用户机器上的当前语言和国家 设置.ResourceBundle 中的字符串通常是出现在应用程序中的文本,但是也可 以是特定于某个地区的任何东西. 您将实践一个示例应用程序,该应用程序从 ResourceBu