EWS API Streaming订阅停止工作

时间:2013-04-15 06:15:11

标签: exchangewebservices exchange-server exchange-server-2010

创建了一个Windows服务,将所有接收和发送的电子邮件保存到我的本地驱动器,我的服务成功完成了。我还重新订阅了我的流式订阅onDisconnect事件和Onerror事件。但是我的服务在一段时间后停止响应并且有即使我已经妥善处理了所有事情,也没有例外。另一个论坛发现了人们面临的同样问题,但没有适当的解决方案。

 static private void OnDisconnect(object sender, SubscriptionErrorEventArgs args)
        {
            try
            {


                // Cast the sender as a StreamingSubscriptionConnection object.  

                StreamingSubscriptionConnection connection = (StreamingSubscriptionConnection)sender;
                if (!connection.IsOpen)
                    connection.Open();


        }


 static void OnError(object sender, SubscriptionErrorEventArgs args)
        {


                // Cast the sender as a StreamingSubscriptionConnection object.
                StreamingSubscriptionConnection connection = (StreamingSubscriptionConnection)sender;
                if (!connection.IsOpen)
                    connection.Open();


        }

这是否与Microsoft错误有关,或者它需要Exchange服务器上的任何设置来更改EWS订阅的限制。

即使我在下面检查了一些与限制限制相关但没有成功的事情: http://msdn.microsoft.com/en-us/library/exchange/hh881884(v=exchg.140).aspx

提前感谢一百万。

2 个答案:

答案 0 :(得分:1)

我们有完全相同的问题。我们会在OnError事件中重新创建整个订阅以防万一。同样有趣的是,在不同的盒子上运行的多个应用程序实例表现出相同的行为:在某些时候它们只是停止接收通知。重新启动任何一个和所有这些都没有帮助;他们成功订阅但仍然没有OnDisconnect以外的通知。重新启动Exchange Server确实有所帮助,但有一段时间了。

答案 1 :(得分:0)

我可以看到这里的问题是你试图在OnError处理程序中打开连接。这里的问题是,当OnError发生时,连接通常会丢失所有订阅,因此您可能需要考虑在打开它们之前再次创建订阅。