本文整理汇总了C#中ExchangeService.SubscribeToPushNotifications方法的典型用法代码示例。如果您正苦于以下问题:C# ExchangeService.SubscribeToPushNotifications方法的具体用法?C# ExchangeService.SubscribeToPushNotifications怎么用?C# ExchangeService.SubscribeToPushNotifications使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ExchangeService
的用法示例。
在下文中一共展示了ExchangeService.SubscribeToPushNotifications方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Subscribe
public static void Subscribe(Node doclibrary, ExchangeService service)
{
if (service == null)
return;
var address = doclibrary["ListEmail"] as string;
if (string.IsNullOrEmpty(address))
return;
var mailbox = new Mailbox(address);
var folderId = new FolderId(WellKnownFolderName.Inbox, mailbox);
var servicePath = string.Format(Configuration.PushNotificationServicePath, doclibrary.Path);
var watermark = ExchangeHelper.GetWaterMark(doclibrary);
var ps = service.SubscribeToPushNotifications(new List<FolderId> { folderId }, new Uri(servicePath), Configuration.StatusPollingIntervalInMinutes, watermark, EventType.NewMail);
var loginfo = string.Concat(" - Path:",doclibrary.Path, ", Email:", address, ", Watermark:", watermark, ", SubscriptionId:", ps.Id);
Logger.WriteInformation("Exchange subscription" + loginfo, ExchangeHelper.ExchangeLogCategory);
// persist subscription id to doclib, so that multiple subscriptions are handled correctly
var user = User.Current;
try
{
AccessProvider.Current.SetCurrentUser(User.Administrator);
var retryCount = 3;
while (retryCount > 0)
{
try
{
doclibrary["ExchangeSubscriptionId"] = ps.Id;
doclibrary.Save();
break;
}
catch (NodeIsOutOfDateException)
{
retryCount--;
doclibrary = Node.LoadNode(doclibrary.Id);
}
}
}
finally
{
AccessProvider.Current.SetCurrentUser(user);
}
}