Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud chcete v Configuration Manager provést asynchronní dotaz pomocí spravovaného poskytovatele serveru SMS, použijte metodu ProcessQuery.
Prvním parametrem metody ProcessQuery je instance třídy SmsBackgroundWorker , která poskytuje dvě obslužné rutiny událostí:
QueryProcessObjectReady. Tato obslužná rutina události je volána pro každý objekt vrácený dotazem. Obslužná rutina události poskytuje objekt IResultObject, který představuje objekt .
QueryProcessCompleted. Tato obslužná rutina události se volá po dokončení dotazu. Poskytuje také informace o všech chybách, ke kterým dojde. Další informace najdete v tématu Informace o zpracování chyb najdete v tématu Zpracování Configuration Manager asynchronních chyb pomocí spravovaného kódu.
Druhým parametrem metody ProcessQuery je příkaz WQL pro dotaz.
Provedení asynchronního dotazu
Nastavte připojení k poskytovateli serveru SMS. Další informace najdete v tématu Základy poskytovatele serveru SMS.
Vytvořte SmsBackgroundWorker objekt a vyplňte QueryProcessorObjectReady a QueryProcessorCompleted vlastnosti názvy metod zpětného volání.
Z objektu WqlConnectionManager, který získáte v kroku 1, voláním metody ProcessQuery objektu QueryProcessor spusťte asynchronní dotaz.
Příklad
Následující příklad dotazuje všechny dostupné SMS_Collection objekty a v obslužné rutině události zapíše několik vlastností kolekce do konzoly Configuration Manager.
Informace o volání ukázkového kódu najdete v tématu Volání Configuration Manager fragmentů kódu.
public void QueryCollections(WqlConnectionManager connection)
{
try
{
// Set up the query.
SmsBackgroundWorker bw1 = new SmsBackgroundWorker();
bw1.QueryProcessorObjectReady += new EventHandler<QueryProcessorObjectEventArgs>(bw1_QueryProcessorObjectReady);
bw1.QueryProcessorCompleted += new EventHandler<RunWorkerCompletedEventArgs>(bw1_QueryProcessorCompleted);
// Query for all collections.
connection.QueryProcessor.ProcessQuery(bw1, "select * from SMS_Collection");
// Pause while query runs.
Console.ReadLine();
}
catch (SmsException ex)
{
Console.WriteLine("Failed to start asynchronous query: ", ex.Message);
}
}
void bw1_QueryProcessorObjectReady(object sender, QueryProcessorObjectEventArgs e)
{
try
{
// Get the collection.
IResultObject collection = (IResultObject)e.ResultObject;
//Display properties.
Console.WriteLine(collection["CollectionID"].StringValue);
Console.WriteLine(collection["Name"].StringValue);
Console.WriteLine();
collection.Dispose();
}
catch (SmsQueryException eX)
{
Console.WriteLine("Query Error: " + eX.Message);
}
}
void bw1_QueryProcessorCompleted(object sender, RunWorkerCompletedEventArgs e)
{
Console.WriteLine("Done...");
}
Tato ukázková metoda má následující parametry:
| Parametr | Typ | Popis |
|---|---|---|
connection |
Řízen: WqlConnectionManager |
Platné připojení k poskytovateli serveru SMS. |
Kompilace kódu
Obory názvů
Systém
System.Collections.Generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Shromáždění
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Robustní programování
Výjimky Configuration Manager, které mohou být vyvolány, jsou SmsConnectionException a SmsQueryException. Ty se dají zachytit společně s postupem SmsException.
Viz taky
Přehled objektůConfiguration Manager Opožděné vlastnostiJak volat metodu třídy objektu Configuration Manager pomocí spravovaného kóduPostup připojení k poskytovateli Configuration Manager pomocí spravovaného kóduPostup vytvoření objektu Configuration Manager objektu pomocí spravovaného kóduJak upravit objekt Configuration Manager pomocí spravovaného kóduJak provést synchronní Configuration Manager dotaz pomocí spravovaného kóduJak číst Configuration Manager Objekt pomocí spravovaného kóduJak číst opožděné vlastnosti pomocí spravovaného kóduJak provádět synchronní Configuration Manager dotaz pomocí spravovaného kóduConfiguration Manager rozšířený dotazovací jazyk WMIConfiguration Manager sadyvýsledkůConfiguration Manager speciální dotazyk dotazům