Exchange मेलबॉक्स से AQS के साथ संदेशों को फ़िल्टर करें
उन्नत क्वेरी सिंटैक्स (AQS) यह क्वेरी सिंटैक्स है जो Exchange द्वारा खोज मानदंड व्यक्त करने के लिए फ़िल्टरों के विकल्प के रूप में उपयोग किया जाता है। AQS सभी सामान्यतः उपयोग किए जाने वाले फ़ील्ड्स पर खोज करने और परिणाम प्रदान करने का अधिक लचीला तरीका है। AQS उपयोगकर्ता‑मित्रतापूर्ण, समझने में आसान और शीघ्र सीखने योग्य है। AQS का उपयोग संलग्नकों और प्राप्तकर्ताओं द्वारा संदेश खोजने के लिए उपयुक्त है।
AQS खोज क्वेरी बनाना
आप AQS के साथ खोज क्वेरी इस प्रकार बना सकते हैं:
- ExchangeAdvancedSyntaxQueryBuilder, जो Advanced Query Syntax (AQS) पर आधारित खोज अभिव्यक्ति के बिल्डर को दर्शाता है। या
- ExchangeAdvancedSyntaxMailQuery, जो समर्थित कीवर्ड्स के आधार पर सीधे एक AQS स्ट्रिंग बनाता है।
क्वेरी बिल्डर का उपयोग
के साथ एक खोज क्वेरी बनाने के लिए ExchangeAdvancedSyntaxQueryBuilder आपको चाहिए:
-
एक इंस्टेंस बनाएं IEWSClient का उपयोग करके GetEWSClient विधि
-
एक इंस्टेंस बनाएं ExchangeAdvancedSyntaxQueryBuilder और क्वेरी बनाने के लिए आवश्यक गुण सेट करें।
-
कॉल करें ListMessages या ListItems विधि और पास करें MailQuery इंस्टेंस, जो द्वारा लौटाया गया है GetQuery विधि, उसके पैरामीटरों में से एक के रूप में।
नीचे दिया गया कोड नमूना दिखाता है कि उपरोक्त चरणों को कैसे लागू किया जा सकता है:
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());
}
डायरेक्ट AQS क्वेरीज
के साथ एक खोज क्वेरी बनाने के लिए ExchangeAdvancedSyntaxMailQuery आपको निम्न करना चाहिए:
-
एक इंस्टेंस बनाएं IEWSClient का उपयोग करके GetEWSClient विधि
-
एक इंस्टेंस बनाएं ExchangeAdvancedSyntaxMailQuery और एक AQS स्ट्रिंग पास करें। देखें सिंटैक्स विवरण.
-
कॉल करें ListMessages या ListItems विधि और पास करें ExchangeAdvancedSyntaxMailQuery इंस्टेंस को उसके पैरामीटरों में से एक के रूप में।
नीचे दिया गया कोड नमूना दिखाता है कि उपरोक्त चरणों को कैसे लागू किया जा सकता है:
using (var client = EWSClient.GetEWSClient(...))
{
ExchangeAdvancedSyntaxMailQuery query = new ExchangeAdvancedSyntaxMailQuery("subject:(product AND report)");
ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query);
}