2017-04-04 4 views
0

Exchange 2003 서버의 사서함을 읽을 수있는 Windows 양식 앱을 작성하고 있습니다. 이 코드는 연결되고 전자 메일을 읽을 수 있지만 AutodiscoverUrl 메서드를 실행하는 데 2 ​​분 이상 걸릴 수 있습니다.C#에서 Exchange Server에 연결할 때 AutodiscoverUrl이 필요합니까?

exchange = new ExchangeService(ExchangeVersion.Exchange2013_SP1); 
exchange.Credentials = new WebCredentials("USERNAME", "PASSWORD", "DOMAIN"); 
exchange.AutodiscoverUrl("[email protected]", RedirectionUrlValidationCallback); 

이것은 모두 회사 내부 네트워크에서 발생합니다. 저는 데이터 센터에 2 천 개의 서버가있는 대기업에 있으며 Exchange 서버를 찾을 때까지 AutodiscoverUrl이 모든 서버를 반복하는지 궁금합니다. Exchange 서버의 이름을 알고 있습니다. 그것을 지정하고 운전하는 방법이 있습니까?

답변

0

처음에는 두 가지 종류의 자동 검색 항목이 있습니다. 내부 하나와 외부 하나. 귀하의 환경 (예 : DNS 분할)에 따라 이것이 어떻게 보이는지 100 % 답변을 제공하기가 쉽지 않습니다. 솔루션에서 개발자로 솔기를 밟았을 때 MS Exchange 관리자와상의해야합니다. 다음 내용이 더 이해할 수 있습니다.

외부 자동 검색은 Microsoft Remote Connectivity Analyzer으로 쉽게 확인할 수 있습니다.

필요할 경우 Test-OutlookWebServices으로 자동 검색 기능을 확인할 수도 있습니다.

그러나 모든 것이 정상적으로 작동하고 있지만 충분히 빠르지는 않습니다. 따라서 자동 검색 프로세스의 일부 단계를 비활성화하려면 (CAS 서버를 하드 코딩하는 대신) 옵션을 사용하십시오 (자세한 내용은 here 참조). 예를 들어 루트 도메인 검사가 필요하지 않은 경우 ExcludeHttpsRootDomain을 통해 위의 URL에 설명 된대로 검사를 비활성화 할 수 있습니다. 그러나 이것은 Exchange 관리자와 함께 수행해야합니다. 그 이유는 Exchange 관리자가 여기에서 변경을 수행하면 솔루션을 중단시킬 수있는 자동 검색 절차를 일부 해제 할 수 있기 때문입니다.