我有一个使用EWS Managed API的流式通知订阅多个Exchange 2010邮箱的程序。
当我收到与项目相关的通知时,我需要确定该项目属于哪个邮箱。我能够获取项目的ID和父文件夹的ID等,但我没有看到任何方法来确定该项目所属的邮箱。
答案 0 :(得分:3)
好的,如果我正确理解您的应用程序,您正在使用Impersonation并为所有模拟用户创建订阅。当您从订阅接收事件时,您想知道该事件发生在哪个用户。如果是这种情况,你不能只是将你的订阅映射到用户创建订阅吗?
简单的Dictionary<StreamingSubscription, ImpersonateduserId>
就足够了
当您收到通知时,您将从NotificationEventArgs.Subscription
属性获取订阅对象,并查找在您的地图中为其创建订阅的用户ID。从ImpersonatedUserId
,您可以获得smtp地址(属性Id
),并且您知道哪个是exatcly用户。