2017-12-05 7 views
0

を使用しながら、正確に、私はEWS URLを更新する必要があるとき、私は以下のようにEWSのURLを取得しています:管理API

var response = myAutodiscoverService.GetUserSettings(
         "[email protected]", 
         UserSettingName.ExternalEwsUrl, 
         UserSettingName.InternalEwsUrl, 
         UserSettingName.EwsSupportedSchemas); 

string settingValue; 
if (response.TryGetSettingValue(UserSettingName.ExternalEwsUrl, out settingValue) 
    || response.TryGetSettingValue(UserSettingName.InternalEwsUrl, out settingValue)) 
{ 
    // If ExternalEwsUrl is not returned in the response, 
    // we consider InternalEwsUrl for auto-discover 
    string ewsurl = settingValue; 
} 

自動検出であるため、私は推奨されているように、私はこの要求を取得し、このewsurlをキャッシュしています本当に遅い。このewsurlが期限切れになると(ユーザーのメールボックスが別のエンドポイントに移動されたとします)新しい更新されたews URLを取得するための障害メカニズムを実装するためには、どのようなエラーが予想されますか?

編集:私は、ExchangeService.SubscribeToPushNotificationsを使用して、EWSの新しいメールイベントを購読していますので、別の質問があります。ユーザーが通知を購読した後にews URLが変更された場合、私のアプリケーションのコールバックURLの新しいメールイベント?

答えて

0

私はMSFTのROTを思い出すようですが、24時間ごとに再度自動検出する必要がありましたが、最近は何も見たことがありませんでした。プッシュ通知について:プッシュ通知には「ハートビート」機能があるため、2つのハートビートが連続して欠落している場合は、安全であることを意味するサブスクリプションを破棄して再登録する必要があります。自動発見。もちろんO365では、EWSのURLが(今のところ)常に同じであるように見えるので、再自動検出はあまり心配されません。

+0

はい、MSは24時間ごとにEWS URLをリフレッシュすることを推奨していますが、私は非常に長い時間のうちにそれが変更されたことを確認していません。だから、期限切れのEWS URLでサブスクリプションをリクエストしているときに特定のエラーが発生した場合は、そのエラーが発生した場合に自動検出を行い、それ以外の場合はキャッシュされたEWS URLをそのまま使用します。 – tavier

+0

これはおそらくうまくいくでしょう。 – pjneary

+0

ええ、問題はありません。期限切れのEWS URLの場合に、どのようなエラーが発生するのかわかりません。 – tavier

関連する問題