Como Ler Propriedades Lentas ao Utilizar o Código Gerido
Para ler uma propriedade preguiçosa de um objeto do Gestor de Configuração devolvido numa consulta, obtém-se a instância do objeto, que recupera quaisquer propriedades de objeto preguiçoso do Fornecedor SMS.
Nota
Se conhecer o caminho completo para o objeto WMI, uma chamada para o método GetInstance devolve o objeto WMI juntamente com quaisquer propriedades preguiçosas. Para obter mais informações, consulte Como ler um objeto do gestor de configuração utilizando o Código Gerido.
Para obter mais informações, consulte As Propriedades Preguiçosas do Gestor de Configuração.
Ler propriedades preguiçosas
Configurar uma ligação com o Fornecedor DE SMS. Para obter mais informações, consulte Como Ligação a um Fornecedor de SMS no Gestor de Configuração utilizando o Código Gerido.
Utilize o objeto Processo-Processamento de Consulta para consultar os objetos do Gestor de Configuração.
Iterar através dos resultados da consulta.
Utilizando o WqlConnectionManager que obtém no primeiro passo, ligue para o GetInstance para obter o objeto IResultObject para cada objeto consultado do qual pretende obter propriedades preguiçosas.
Exemplo
As seguintes consultas de exemplo de código C# para todos os objetos SMS_Collection e, em seguida, exibem nomes de regras obtidos a partir da CollectionRules
propriedade preguiçosa.
Para obter informações sobre a chamada do código de amostra, consulte o Código de Identificação do Gestor de Chamadas.
public void ReadLazyProperty(WqlConnectionManager connection)
{
try
{
// Query all collections.
IResultObject collections = connection.QueryProcessor.ExecuteQuery("Select * from SMS_Collection");
foreach (IResultObject collection in collections)
{
// Get the collection object and lazy properties.
collection.Get();
Console.WriteLine(collection["Name"].StringValue);
// Get the rules.
List<IResultObject> rules = collection.GetArrayItems("CollectionRules");
if (rules.Count == 0)
{
Console.WriteLine("No rules");
Console.WriteLine();
continue;
}
foreach (IResultObject rule in rules)
{
// Display rule names.
Console.WriteLine("Rule name: " + rule["RuleName"].StringValue);
}
Console.WriteLine();
}
}
catch (SmsQueryException ex)
{
Console.WriteLine("Failed to get collection. Error: " + ex.Message);
throw;
}
}
Este método de exemplo tem os seguintes parâmetros:
Parâmetro | Tipo | Description |
---|---|---|
connection |
- WqlConnectionManager |
Uma ligação válida ao Fornecedor de SMS. |
A Compilar o Código
Espaços de nomes
Sistema
System.Collections.Generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assemblagem
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Programação Robusta
As exceções do Gestor de Configuração que podem ser levantadas são SmsConnectionException e SmsQueryException. Estes podem ser apanhados juntamente com o SmsException.
Consulte também
Visão geral de objetos Gestor de Configuração Propriedades Preguiçosas
Como chamar um método de classe de objeto de gestor de configuração usando código gerido
Como Ligação a um fornecedor de gestor de configuração usando código gerido
Como criar um objeto de gestor de configuração usando código gerido
Como modificar um objeto de gestor de configuração utilizando código gerido
Como executar uma consulta de gestor de configuração assíncronea através da utilização de código gerido
Como executar uma consulta de gestor de configuração sincronizada através da utilização de código gerido
Como ler um objeto de gestor de configuração usando código gerido