2016-01-29 121 views
0

我需要從遠程服務器使用WMI獲取自定義用戶對象。用戶數可能超過500,000。運行以下代碼安全嗎?WMI中的響應大小限制

var queryStr = "select * from MyUserClass"; 
var query = new SelectQuery(queryStr); 
var searcher = new ManagementObjectSearcher(MngScope, query); 

var result = searcher.Get(); 

我找不到任何有關響應大小限制的信息。 我擔心數據大小將超過以太網響應的閾值。或者,ManagementObjectSearcher依次獲取數據,然後返回結果?

而且它看起來像COUNT關鍵字不存在WQL。 那我怎麼才能得到一些物體呢?

回答

0

正如您在this question中看到的,不可能在WQL中限制結果數量。

即便如此,一個系統沒有理由擁有超過500,000個用戶。

如果您害怕系統「欺騙」您並且無論如何返回這麼多用戶,您可以通過在另一個Thread中執行查詢時間來限制查詢時間。

+0

我擔心數據大小將超過以太網響應的閾值。或者,ManagementObjectSearcher依次獲取數據,然後返回結果? – fresh

+0

即使數據不會按順序返回,即使結果(對於某些非標準原因)太大,只需設置超時值即使數據不會按順序返回,也不必擔心以太網應用程序會凍結應用程序。仍然,一個標準的系統永遠不會爲你提供這麼多的用戶... –

+0

該代碼作爲服務在單獨的線程中運行。它是一個自定義對象,我需要將它們與我的系統同步,用戶數可能是公司中的員工數。但是我沒有機會在發佈之前用這麼多的數據測試我的代碼。也許我需要找到遠程服務器上存在的一些系統對象,以及哪個數量很大,並嘗試將它們拉出來。無論如何,感謝您的迴應! – fresh