Megosztás a következőn keresztül:


Aszinkron Configuration Manager lekérdezés végrehajtása felügyelt kód használatával

A Configuration Manager a ProcessQuery metódussal hajthat végre aszinkron lekérdezést a felügyelt SMS-szolgáltatóval.

A ProcessQuery metódus első paramétere az SmsBackgroundWorker osztály egy példánya, amely két eseménykezelőt biztosít:

Aszinkron lekérdezés végrehajtása

  1. Állítson be egy kapcsolatot az SMS-szolgáltatóval. További információ: Az SMS-szolgáltató alapjai.

  2. Hozza létre az SmsBackgroundWorker objektumot, és töltse fel a QueryProcessorObjectReady és a QueryProcessorCompleted tulajdonságokat a visszahívási metódusok nevével.

  3. Az első lépésben beszerzett WqlConnectionManager objektumból hívja meg a QueryProcessor objektum ProcessQuery metódusát az aszinkron lekérdezés elindításához.

Példa

Az alábbi példa lekérdezi az összes elérhető SMS_Collection objektumot, és az eseménykezelőben a példa számos gyűjteménytulajdonságt ír a Configuration Manager konzolra.

A mintakód meghívásával kapcsolatos információkért lásd: Configuration Manager Kódrészletek hívása.

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...");  
}  

Ez a példametódus a következő paraméterekkel rendelkezik:

Paraméter Típus Leírás
connection Kezelt: WqlConnectionManager Érvényes kapcsolat az SMS-szolgáltatóval.

A kód fordítása

Névterek

Rendszer

System.Collections.Generic

System.ComponentModel

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Összeszerelés

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robusztus programozás

A Configuration Manager kivételek az SmsConnectionException és az SmsQueryException. Ezek az SmsException kivétellel együtt is elkaphatók.

Lásd még

Objektumok áttekintéseConfiguration Manager Lusta tulajdonságok
Configuration Manager Object Class metódus meghívása felügyelt kód használatával
Csatlakozás Configuration Manager-szolgáltatóhoz felügyelt kód használatával
Configuration Manager objektum létrehozása felügyelt kód használatával
Configuration Manager objektum módosítása felügyelt kód használatával
Szinkron Configuration Manager lekérdezés végrehajtása felügyelt kód használatával
Configuration Manager objektum olvasása felügyelt kód használatával
Szakaszolt tulajdonságok olvasása felügyelt kód használatával
Szinkron Configuration Manager lekérdezés végrehajtása felügyelt kód használatával
kiterjesztett WMI-lekérdezési nyelv Configuration Manager
Configuration Manager eredményhalmazok
Configuration Manager speciális lekérdezések
Tudnivalók a lekérdezésekről