程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Visual C#構建網絡計算機樹形圖(1)

Visual C#構建網絡計算機樹形圖(1)

編輯:關於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類的常用方法及其說明

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved