2

创建了一个 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

提前一百万谢谢。

4

2 回答 2

1

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

于 2014-04-04T14:12:09.023 回答
0

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

于 2013-10-31T12:24:11.247 回答