2017-06-29 61 views
0

我需要一個應用程序,它顯示了當前的匯率,會議室和每個房間的時辰是空閒還是忙碌。用戶可以給出最多5天的日期範圍以查看結果。EWS交換房間查看

我已經作出了建設,但2慢用,因爲它需要長達3秒鐘,從只有3間會議室得到的所有信息(而在未來會更加約20)。

這是我的工作方式:

  1. 通過身份驗證功能AutodiscoverUrl:service.AutodiscoverUrl(電子郵件,密碼)
  2. 被賦予了開始日期和結束日期,在這後5天,我第一次得到所有可用間會議室與service.GetRooms(「[email protected]」)
  3. 我通過發現間會議室進行迭代,並使用函數service.GetUserAvailability(room,...)以獲取calenderevents。
  4. 然後,我有一類告訴我一天的時間,我檢查了房間的發現calenderevents看一個小時是否忙或沒有。

現在我有我的calenderevents房間的集合,並指示是否一個小時忙碌。

但有另一種更快的方式?如上所述,在5天的日期範圍內,僅需3個房間就需要2/3秒。

+1

您是否爲您的流程的不同部分計時,以確定哪一步最耗時。然後,您可以將代碼發佈到該部分,以查看是否有人可以確定更好的解決方案。 – Scrobi

+0

像Scrobi說,你應該使用類似的[秒錶類]時間代碼(https://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch(V = vs.110)的.aspx) 。 – MadDev

回答

0

你叫每個房間GetUserAvailability請求,如您遍歷或用戶配料一起?可用性呼叫可以返回多個用戶的信息(100是我記得的硬性限制)。很可能一個大呼叫比多個單呼叫更有效率。