none
Is there a possibiliity to poll resource mailboxes concurrently, for calendar meetings data. RRS feed

  • Question

  • 1. Background:

    We have a windows service application (developed in c#) that runs in customer environment, and collects Rooms and calendar meetings data from those rooms, from their Office 365 environment and sends to the collection server.

    2. Current Exchange Web Service reference (DLL) used in the application:

    Name : Microsoft.Exchange.WebServices

    Runtime version : v2.0.50727

    Version : 15.0.0.0

    3. Issue:

    Collecting calendar meeting data from ~400 rooms mailboxes, takes a lot of time (more than 24 hours); when queried serially.

    -> Is there any documentation that details on how to make EWS threadsafe to poll all the room mailboxes concurrently?

    -> And which throttling parameters should be addressed to make this happen?

    -> Would it also require any administrative setting changes on the infrastructure itself? (Exchange Server or Office 365)

    Any help is greatly appreciated.


    Tuesday, September 26, 2017 4:25 PM

All replies

  • Exchange allows up to 27 concurrent connections by default https://msdn.microsoft.com/en-us/library/office/jj945066%28v=exchg.150%29.aspx#bk_ThrottlingConcurrency . The ExchangeService class isn't threadsafe so you should use a separate instance of the class for each thread.

    >>Collecting calendar meeting data from ~400 rooms mailboxes, takes a lot of time (more than 24 hours); when queried serially.

    That sounds like you have inefficient code eg you current code makes more call to the server then necessary because you not taking advantage of batching . I would suggest you put effort into making your code a lot more efficient before you look at concurrency because if you try to run your current code in multiple threads in more the likely you will get throttled.

    >>-> And which throttling parameters should be addressed to make this happen?

    You can't change any throttling parameter in Office365 so you need to make you app live with those bounds hence having the most efficient code if important. 

    Tuesday, September 26, 2017 9:41 PM
  • Thanks for your response Glen.

    Could you please share MS documentation on batching in EWS API?

    Friday, July 20, 2018 4:13 PM
  • see https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-process-calendar-items-in-batches-in-exchange  

    Cheers
    Glen

    Monday, July 23, 2018 12:12 AM