2017-06-29 59 views
0

現在の交換会議室と各部屋の空き時間を表示するアプリケーションを作成する必要があります。ユーザーは結果を見るために最大5日間のdaterangeを与えることができます。EWS exchange rooms view

私は建設をしましたが、3つの会議室からすべての情報を得るには3秒かかるため、使用するのが遅くなります(将来は20人ほどになります)。

これは私がどのように動作するかです:

  1. 認証AutodiscoverUrl関数を介して:service.AutodiscoverUrl(電子メール、パスワード)
  2. は、その中に5日間でSTARTDATEと終了日を与えられた後、私は最初service.GetRooms(「[email protected]」)で利用可能なすべてのmeetingroomsを取得
  3. 私が見つけたmeetingroomsを反復して使用しますfunction service.GetUserAvailability(room、...)カレンダーを取得する。
  4. 次に、私には1日の時間を教えるクラスがあり、1時間がビジーであるかどうかを調べるために、見つかった部屋のカレンダーを調べます。

今、私は、カレンダーを備えた部屋のコレクションと、1時間がビジーであるかどうかを示しています。

しかし、別の方法がありますか?このように、これは5日間のdaterange内のわずか3つの部屋のために2/3秒かかる。

+1

どのステップが最も時間を費やしているかを特定するために、プロセスのさまざまな部分をタイムリーにしましたか?そのセクションにコードを投稿して、誰かがより良いソリューションを識別できるかどうかを確認できます。 – Scrobi

+0

Scrobiと同様に、[Stopwatch Class](https://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch(v = vs.110).aspx)のようなコードを使用してコードを実行する必要があります。 。 – MadDev

答えて

0

各部屋の反復処理やユーザーのバッチ処理を行う際に、GetUserAvailabilityリクエストを呼び出していますか?可用性呼び出しは、複数のユーザーの情報を返すことができます(100は、私が思い出したハード制限です)。 1つのビッグコールが複数のシングルコールよりも効率的になる可能性があります。

関連する問題