2013-02-01 2 views
6

La chiamata di servizi Web di Exchange FindItems() ha alcuni sovraccarichi che richiedono un oggetto SearchFilter e altri richiedono una stringa di query in Advanced Query Syntax (AQS). Attualmente accetto le richieste AQS, come "subject: Foo OR subject: Bar", dai chiamanti al mio codice e le passiamo a EWS.EWS - combinazione di stringa di query con oggetto filtro di ricerca

Ma ora mi piacerebbe fare un po 'di filtraggio usando un SearchFilter, per limitare l'intervallo di date. Anche se è possibile farlo nella sintassi AQS come "Data:> 11/05/04", sento che è più pulita di specificare il filtro a livello di codice:

new SearchFilter.IsGreaterThanOrEqualTo(ItemSchema.DateTimeReceived, d); 

Allora, cosa mi piacerebbe fare è di query di sia a SearchFilter e una stringa di query. Per farlo vorrei convertire la stringa di query che ho ricevuto in un oggetto SearchFilter in modo da poter "e" insieme con il mio filtro.

C'è un modo per costruire un SearchFilter sul client dato una stringa di query AQS?

risposta

3

Rispondendo parzialmente alla mia domanda: sospetto che ciò non sia possibile perché EWS non supporta le stringhe di query nelle cartelle pubbliche, ma supporta gli oggetti SearchFilter nelle cartelle pubbliche. Pertanto, un SearchFilter non può offrire la funzionalità delle stringhe di query, a meno che questa restrizione EWS sia semplicemente inutile.

+0

Probabilmente hai ragione. I "Servizi Web interni Microsoft® Exchange Server 2007 di Sterling" menzionano solo i filtri di ricerca, non AQS –