Powolne wyszukiwanie elementów przy użyciu rozszerzonej właściwości na Exchange

Problem pod ręką

Nasza aplikacja C # Windows używaEWS Managed API 2.0 tworzyć spotkania w kalendarzu użytkownika. Każde spotkanie ma rozszerzoną właściwość o unikalnej wartości. Później lokalizuje spotkanie za pomocąFindItems i anItemView.

Użytkownicy doświadczają znacznych opóźnień podczas pierwszego wyszukiwania. Kolejne czasy reakcji są całkowicie dopuszczalne.

(„pierwszy raz” jest tu trochę niejasny, ponieważ użytkownicy mogą ponownie doświadczyć opóźnienia w późniejszym dniu)

// 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);

Zdalny serwer toExchange Server 2007 SP1.

Badania

MSDN łączy niektóre komentarze z folderami wyszukiwania i ograniczonymi widokamijednak nie jestem pewien, czy dotyczą naszej sytuacji.

AktZastosowanie widoku do folderu powoduje utworzenie folderów wyszukiwania w sklepie. Po utworzeniu folderu wyszukiwania jest on buforowany do późniejszego wykorzystania. Jeśli użytkownik próbuje utworzyć folder wyszukiwania, który już istnieje, używany jest buforowany folder wyszukiwania. Pozwala to na szybkie przeglądanie zdjęć. Domyślnie program Exchange nie buforuje wszystkich folderów wyszukiwania w nieskończoność.

konkretniew odniesieniu do SWO:

Ważne jest również, aby zdawać sobie sprawę z faktu, że przy pierwszym uruchomieniu kwerendy wyszukiwania w sklepie Exchange będzie działać bardzo wolno i być może przekroczy limit czasu, podczas gdy w przyszłych uruchomieniach będzie odpowiadać bez problemu. Jest to spowodowane procesami zaplecza, które występują na serwerze Exchange, gdy wykonywane jest wyszukiwanie sklepu.

Sugerują tworzenie folderów wyszukiwania dla niezmiennych, nie-dynamicznych zapytań, co w naszym przypadku wydaje się nieodpowiednie, ponieważ zapytanie jest inne dla każdego spotkania.

Jeśli aplikacja wymaga określonego zapytania, które ma ustalony zestaw niezmiennych parametrów, możesz użyć folderów wyszukiwania. [...] foldery wyszukiwania są użyteczne tylko dla niezmiennych, nynamicznych zapytań.

To, czego potrzebujemy, to stworzenie „indeksu” - w kategoriach bazy danych - na nieruchomości, zapewniając, że wszystkie wyszukiwaniana tej konkretnej nieruchomości są szybkie, bez względu na czas i częstotliwość.

Czy jest możliwe „indeksowanie” tej właściwości? Czy cokolwiek można skonfigurować po stronie klienta lub serwera, aby usunąć to początkowe opóźnienie?

questionAnswers(4)

yourAnswerToTheQuestion