2013-02-01 11 views
6

Exchange Web Services FindItems()呼び出しには、SearchFilterオブジェクトを取得するオーバーロードと、高度なクエリ構文(AQS)でクエリ文字列を取得するオーバーロードがあります。現在、私は、発信者から自分のコードに "subject:Foo OR subject:Bar"などのAQSクエリを受け入れ、それらをEWSに渡します。EWS - 検索フィルタオブジェクトとクエリ文字列を組み合わせます。

今、SearchFilterを使用してフィルタリングをいくつか行い、日付範囲を限定したいと思います。 「日付:> 11/05/04」としてAQS構文でそれを行うことは可能ですが:

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

は、だから私がやりたいものをクエリで、私はプログラムでフィルタを指定するクリーナーです感じますSearchFilterとクエリ文字列の両方。これを行うには、受信したクエリ文字列をSearchFilterオブジェクトに変換したいので、それを自分のフィルタリングと一緒に 'と'することができます。

AQSクエリ文字列を指定してクライアントにSearchFilterを作成する方法はありますか?

答えて

3

私自身の質問に部分的に答える:EWSはパブリックフォルダのクエリ文字列をサポートしていないため、パブリックフォルダのSearchFilterオブジェクトをサポートしているため、これは不可能と思われます。したがって、SearchFilterは、このEWSの制限が無意味でない限り、クエリ文字列の機能を提供することはできません。

+0

あなたはおそらく正しいでしょう。 Sterlingの「InsideMicrosoft®Exchange Server 2007 Web Services」では、AQSではなく検索フィルタについてのみ言及しています –