2016-12-20 28 views
2

長年のlurker、初めてのポスター。C#intermittent "Autodiscoverサービスが見つかりませんでした"

私はExchange2010(これは私がやっていることです)によるなりすましについてたくさんの質問をしてきましたが、これまでに見たことは無効なコード構文や無効なパスワードです。うまくいけば、誰かが私の問題を助けることができます。これはもう少し奇妙です。私は電子メールを作成し、同じドメインの別のカレンダーから予定を取得し、それらの予定が記載された電子メールを送信しようとしています。私は意図的にコードからチェックエラーを削除し、それが実行時にクラッシュしてみましょう

An unhandled exception of type 'Microsoft.Exchange.WebServices.Data.AutodiscoverLocalException' occurred in Microsoft.Exchange.WebServices.dll 
Additional information: The Autodiscover service couldn't be located. 

私のコードは動作しますが、時折それは私に次のエラーを与えるだろう。私がすぐにもう一度やり直すと、うまく動作しない場合があります。それが5分後に再び同じことをしようとすると。私が間違っていることを理解することはできません(エラーはRedirectionUrlValidationCallbackを指していますが、これもまたデバッグすることを試みました/無駄にテスト)。私は4つの異なるカレンダーをチェックしていますが、このエラーは同じ行のいずれかで発生します。私のコードで何が間違っているのか分からないので、本当にイライラします。

まず私が送信する電子メールを準備するものを初期化します。

using Microsoft.Exchange.WebServices.Data; 

const int NUM_APPTS = 10; 
ExchangeService serviceAuth = new ExchangeService(ExchangeVersion.Exchange2010); 
serviceAuth.Credentials = new WebCredentials("[email protected]", "PASSHERE"); 
serviceAuth.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback); 

私はなど、電子メールを作成し、その後、私はカレンダーをチェックして、エントリを表示しようと行く:

ExchangeService serviceCALONE = new ExchangeService(ExchangeVersion.Exchange2010); 
serviceCALONE.Credentials = new WebCredentials("[email protected]", "PASSHERE"); 
serviceCALONE.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback); 
CalendarFolder calendarCALONE = CalendarFolder.Bind(serviceCALONE, WellKnownFolderName.Calendar, new PropertySet()); 
CalendarView cViewCALONE = new CalendarView(startDate, endDate, NUM_APPTS); 
cViewCALONE.PropertySet = new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End); 
FindItemsResults<Appointment> appointmentsCALONE = calendarCALONE.FindAppointments(cViewCALONE); 

これは私がMSDN上の別の場所から使用RedirectionURLValidationCallback機能である:

private static bool RedirectionUrlValidationCallback(string redirectionUrl) 
{ 
    // The default for the validation callback is to reject the URL. 
    bool result = true; 
    // This was changed to default to true because an error started appearing with: 
    // "The autodiscover service could not be located" 

    Uri redirectionUri = new Uri(redirectionUrl); 

    if (redirectionUri.Scheme == "https") 
    { 
     result = true; 
    } 
    return result; 
} 

することができますように私が学んだときに自分自身にトンをコメントするという事実以外にも、私は真実にかかわらず真実に戻ろうとしました。いずれにしても何も変わらないようです。

エラーは、電子メールの初期化中またはカレンダーのチェック中に発生する可能性がありますが、両方のiircは.AutodiscoverUrl行にあります。 Rackspaceでホストされているテストボックスからこれを実行しています。

ご協力いただきありがとうございます!

答えて

0

は、この形式でService.Credentialsを使用してみてください:

Service.Credentials = new WebCredentials(username, password, domainname); 

また、メールアドレスのパスワードの有効期限が切れているかどうかを確認します。 パスワードの有効期限が切れた場合、このエラーはAutodiscoverから発生します。

さらに、Autodiscoverを外部でテストする別のトラブルシューティングオプションは、Microsoft Remote Connectivity Analyserを使用することです。

それ以外の場合は、Tracingを有効にして問題を解決することをお勧めします。

+0

このようにフォーマットされたサービスの資格情報を試しました。それは実際に私のために誤りです。私はこれが2010年と何か関係があると仮定していますが、それは当初のものです(別のスレッドで見ました)。私はuserとuser @ domainを使って試しました(たとえuser @ domainがうまくいかないと思いますが)。 私が質問したように、パスワードは時々動作し、すぐには機能しないので期限切れではありません。しかし、私もここでそれを読んでから、約1週間前に問題の口座すべてにパスワードをリセットして無駄にしました。 –

+0

私はそれがまだ何を言うのを試していないので、私はトレース方法を試してみます。 –

+0

リスナーを置くことは本当に私にはあまり教えてくれません。私はMSDNの記事とまったく同じやり方で、最後の成功したEWSリクエストを与えてくれました。 デバッグ出力:型「Microsoft.Exchange.WebServices.Data.AutodiscoverLocalException」の最初のチャンス例外がMicrosoft.Exchange.WebServices.dll タイプの未処理の例外が発生した 「Microsoft.Exchange.WebServices.Data.AutodiscoverLocalException 'Microsoft.Exchange.WebServices.dllで発生しました 追加情報:自動検出サービスを見つけることができませんでした。 今回は初めての作業で、2回目は実行しませんでした。 –

関連する問題