Медленный поиск предметов с использованием расширенного свойства на Exchange

Проблема под рукой

Наше приложение C # Windows используетEWS Managed API 2.0 создавать встречи в пользователя "с календарем. Каждое назначение имеет расширенное свойство с уникальной ценностью. Позже он находит назначение с помощьюFindItems иItemView

Пользователи испытывают значительные задержки при первом поиске. Последующее время отклика вполне приемлемо. ("

первый раз" здесь немного расплывчато, потому что пользователи могут снова столкнуться с задержкой позже в тот же день)

// locate ID of appointment where extended property value equals 1234:
var filter = new Ews.SearchFilter.IsEqualTo(extendedPropertyDefinition, 1234);
var view = new ItemView(1, 0);
view.PropertySet = BasePropertySet.IdOnly;
var folder = new FolderId(WellKnownFolderName.Calendar, new Mailbox("..."));
var result = service.FindItems(folder, filter, view);

Удаленный сервер являетсяExchange Server 2007 с пакетом обновления 1 (SP1).

Исследование

MSDN связывает некоторые комментарии с папками поиска и ограниченными представлениямиОднако я не уверен, относятся ли они к нашей ситуации.

Актприменение представления к папке создает папки поиска в магазине, Когда папка поиска создается, она кэшируется для последующего использования. Если пользователь пытается создать папку поиска, которая уже существует, используется кэшированная папка поиска. Это позволяет в будущем просматривать довольно быстро. По умолчанию Exchange не кэширует все папки поиска бесконечно.

конкретнов отношении EWS:

Также важно учитывать тот факт, что при первом запуске поискового запроса хранилища Exchange он будет выполняться очень медленно и, возможно, по истечении времени ожидания, тогда как при последующих запусках он будет отвечать без проблем. Это вызвано внутренними процессами, которые происходят на сервере Exchange при выполнении поиска в хранилище.

Они предлагают создавать папки поиска для неизменяемых, не динамических запросов, чтоВ нашем случае это кажется уместным, так как запрос отличается для каждой встречи.

Если приложению требуется определенный запрос с фиксированным набором неизменяемых параметров, вы можете использовать папки поиска. [...] папки поиска полезны только для неизменяющихся, нединамических запросов.

По сути, нам нужно создатьиндекс" - в терминах базы данных - на имущество, гарантируя, что все поискина это конкретное свойство быстрая, независимо от времени или частоты.

Это возможно "индекс" это свойство? Можно ли что-либо настроить на стороне клиента или на стороне сервера, чтобы устранить эту начальную задержку?

Ответы на вопрос(4)

Ваш ответ на вопрос