簡體   English   中英

DNS服務器更改事件?

[英]DNS servers changed event?

我正在編寫.Net 4應用程序,以在Windows上運行,以監視PC當前是否已連接到特定的內部網絡。 為了確定是否存在網絡連接,我計划測試DNS名稱解析-如果成功,則PC在網絡上。 (如果有一種更好的方法,它不太占用網絡資源,請分享!)

我需要知道的是,我可以在客戶端PC的網絡DNS查找服務器更改時觸發的代碼中設置事件處理程序嗎? 例如,如果客戶端通過VPN客戶端連接,則新的DNS查找服務器將被添加到網絡環境中。 作為響應,我的代碼應(重新)嘗試使用DNS名稱解析。

有人知道如何設置這樣的事件處理程序嗎? 或者,是否有更好的網絡更改事件要監視(例如VPN連接上線等)?

我不知道DNS列表更改時會觸發任何特定的.net事件,如果您檢測到任何有趣的更改,則可以肯定地監視網絡狀態並引發自定義事件,然后在附加到該自定義項的處理程序中執行某些代碼事件。 希望這可以幫助。

作為另一個選擇,您是否考慮過使用WMI嘗試連接到遠程計算機? 只要您具有管理權限,並且WMI對象已安裝在遠程計算機上,就可以測試連接。 例如

var connection = new ConnectionOptions 
    { Username = "username", Password = "password" }

var ms = new ManagementScope(@"\\RemoteComputerName\root\CIMV2", connection);

try
{
   ms.Connect();
}
catch(Exception ex)
{
  // Connection Failure
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM