현재 EWS Managed API를 사용하여 Exchange 2010 서버에서 Pull Notification에 가입하여 일정 항목에 대한 알림을 구독하고 있어도 정상적으로 작동합니다. 내가 이것을 어떻게했는지는 SQL 데이터베이스에서 전자 메일을 보낸 사용자 목록을 검색 한 다음 각각을 반복하고 각자를 SubscribeToPullNotifications()
및 그 다음에 GetEvents()
을 사용하여 Pull Notification에 알리는 것입니다. 캘린더 폴더의 Created
, Modified
및 Deleted
이벤트를 구독합니다.EWS를 사용하여 Exchange 2010 서버에서 모든 알림을 즉시 받음
나는 언제나 모든 사용자가 알림을 가지지 않기 때문에 모든 사용자를 하나씩 반복하는 것 외에 Exchange 서버의 모든 알림을 얻는 더 좋은 방법이 될 것이라고 생각합니다. MS Outlook에서 캘린더의 항목을 삭제하면 Exchange 서버에서 이벤트가 발생합니다.
예를 들어 SQL 데이터베이스에서 200 명의 사용자가 검색되지만 MS Outlook에서 새 약속을 만드는 사용자는 10 명뿐입니다. 그러나 각 사용자를 반복하므로 200 개의 루핑을 통해 10 개의 알림을 가져와야합니다. 그 10 명의 사용자.
Exchange 서버의 이벤트가 있는지 여부를보기 위해 모든 사용자를 반복 할 필요가 없도록 Exchange 서버에서 모든 알림을 한 번에 가져 오는 방법이 있습니까? 푸시 알림이나 스트리밍 알림을 사용하는 것이 더 나을지도 모르지만 당겨 받기 알림을 사용하여 더 좋은 방법을 알고 싶습니다.
감사합니다.
즉, 나중에 모든 이벤트를 한 번에 가져 오려면 subscription.GetEvents()를 사용할 수 있습니다. 나는 이것이 좋은 것이라고 생각한다. 나는 그것을 시도 할 것이다. – ahlun
이것은 불행하지 않습니다. 다음 설명과 함께 Microsoft.Exchange.WebServices.Data.ServiceResponseException을 발생시킵니다. "구독은 단일 공용 폴더 또는 단일 사서함의 폴더에서만 설정할 수 있습니다." – Kingsley
@docflabby - 시도해 주셔서 감사합니다! 그것은 EWS 구독의 한계로 보입니다. 정확히 같은 오류가 발생합니다. 모니터링하려는 각 사서함에 대해 별도의 구독이 필요하며 각각에 대해 subscription.GetEvents()를 호출하십시오. 이를 반영하여 답변을 업데이트하겠습니다. – SliverNinja