2016-12-20 1 views
2

장기간 lurker, 처음 포스터.C# 간헐적으로 "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 분 만에 다시 시도하면 같은 이야기가됩니다. 그것은 첫 번째 실행에서 작동하는 시간의 약 75 %, 그리고 나 자신의 삶에 대해 내가 잘못하고있는 것을 알아낼 수 없다. (오류는 RedirectionUrlValidationCallback을 가리키고있다. RedirectionUrlValidationCallback도 디버깅을 시도했다./아무 쓸모없는 시험). 나는 4 개의 다른 달력을 검사하고 있는데,이 오류는 같은 줄에있는 어떤 사람에게도 발생할 수 있습니다. 코드에서 무엇이 잘못되었는지를 알 수 없으므로 정말 실망 스럽습니다.

먼저 내가 보내는 이메일을 준비하기 위해 물건을 초기화 :

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); 
:

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); 

내가 이메일, 등, 나는 달력을 확인 가서 항목을 참조하려고 할

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; 
} 

당신이 할 수 :

이것은 내가 MSDN에 다른 곳에서 사용되는 RedirectionURLValidationCallback 기능입니다 (나는 배울 때 나 자신에게 톤을 언급한다는 사실 이외에) 나는 관계없이 사실로 돌아 가려고했다. 어느 쪽이든간에 어떤 것도 바뀌지 않는 것 같습니다.

전자 메일 초기화 또는 달력 검사 중에 오류가 발생할 수 있지만 둘 다 iirc가 .AutodiscoverUrl 줄에 있습니다. Rackspace를 통해 호스팅되는 테스트 상자에서 실행하고 있습니다.

도움을 주신 모든 분들께 감사드립니다. 이 형식으로 Service.Credentials을 사용

답변

0

시도 : 이메일 주소의 암호가 만료 된 경우에도

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

가 확인합니다. 암호가 만료되면 Autodiscover에서이 오류가 발생합니다.

외부에서 Autodiscover를 테스트하는 또 다른 문제 해결 옵션은 Microsoft Remote Connectivity Analyser입니다.

다른 모든 방법으로 문제가 해결되지 않으면 Tracing을 사용하여 문제를 해결하는 것이 좋습니다.

+0

그런 식으로 형식화 된 서비스 자격 증명을 사용해 보았습니다. 그것은 실제로 나를 위해 오류. 나는 이것이 2010 년과 어떤 관계가 있다고 가정한다. (다른 스레드에서 본다). 나는 user @ domain이 잘 작동하지 않아야 함에도 불구하고 user와 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에서 발생했습니다. 추가 정보 : Autodiscover 서비스를 찾을 수 없습니다. 이번에 처음으로 작동하고 두 번째 않았다. –