Filtruj wiadomości przy użyciu AQS z skrzynki Exchange
Zaawansowana składnia zapytań (AQS) jest składnią zapytań używaną przez Exchange jako alternatywę dla filtrów wyszukiwania służących do wyrażania kryteriów wyszukiwania. AQS to bardziej elastyczny sposób wykonywania wyszukiwań i uzyskiwania wyników wyszukiwania we wszystkich powszechnie używanych polach elementów. AQS jest także przyjazne dla użytkownika, łatwe do zrozumienia i szybko przyswajalne. Korzystanie z AQS nadaje się do znajdowania wiadomości według załączników i odbiorców.
Tworzenie zapytań wyszukiwania AQS
Możesz utworzyć zapytanie wyszukiwania przy użyciu AQS, wykonując:
- ExchangeAdvancedSyntaxQueryBuilder, który reprezentuje budowniczy wyrażenia wyszukiwania opartego na składni Advanced Query Syntax (AQS). lub
- ExchangeAdvancedSyntaxMailQuery, który tworzy ciąg AQS bezpośrednio na podstawie obsługiwanych słów kluczowych.
Użycie Query Builder
Aby utworzyć zapytanie wyszukiwania z ExchangeAdvancedSyntaxQueryBuilder musisz:
-
utworzyć instancję IEWSClient przy użyciu GetEWSClient metodę
-
utworzyć instancję ExchangeAdvancedSyntaxQueryBuilder i ustaw niezbędne właściwości, aby utworzyć zapytanie.
-
wywołanie ListMessages lub ListItems metodę i przekazać MailQuery instancję zwróconą przez GetQuery metodę, jako jeden z jej parametrów.
Poniższy przykład kodu pokazuje, jak można zrealizować powyższe kroki:
using (var client = EWSClient.GetEWSClient(...))
{
var advancedBuilder = new ExchangeAdvancedSyntaxQueryBuilder();
advancedBuilder.From.Equals("Jim Martin");
advancedBuilder.Subject.Contains("report");
advancedBuilder.HasAttachment.Equals(true);
var messages = client.ListMessages(client.MailboxInfo.InboxUri, advancedBuilder.GetQuery());
}
Bezpośrednie zapytania AQS
Aby utworzyć zapytanie wyszukiwania z ExchangeAdvancedSyntaxMailQuery musisz:
-
utworzyć instancję IEWSClient przy użyciu GetEWSClient metodę
-
utworzyć instancję ExchangeAdvancedSyntaxMailQuery i przekazać ciąg AQS. Zobacz opis składni.
-
wywołanie ListMessages lub ListItems metodę i przekazać ExchangeAdvancedSyntaxMailQuery instancję jako jeden z jej parametrów.
Poniższy przykład kodu pokazuje, jak można zrealizować powyższe kroki:
using (var client = EWSClient.GetEWSClient(...))
{
ExchangeAdvancedSyntaxMailQuery query = new ExchangeAdvancedSyntaxMailQuery("subject:(product AND report)");
ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query);
}