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 のバグと関係がありますか、それとも EWS サブスクリプションの制限を変更するために Exchange サーバーの設定が必要ですか?

スロットリング制限に関連するものを以下でチェックしましたが、成功しませんでした: http://msdn.microsoft.com/en-us/library/exchange/hh881884(v=exchg.140).aspx

100 万前もって感謝します。

4

2 に答える 2

1

まったく同じ問題があります。念のため、OnError イベントでサブスクリプション全体を再作成します。個別のボックスで実行されている複数のアプリケーション インスタンスが同じ動作を示すことも興味深い点です。ある時点で通知の受信を停止するだけです。それらのすべてを再起動しても役に立ちません。彼らは正常にサブスクライブしますが、OnDisconnect 以外の通知はまだありません。しばらくの間ではありますが、Exchange Server の再起動が本当に役に立ちます。

于 2014-04-04T14:12:09.023 に答える