2011-11-10 4 views
9

EWS 제한 정책을 효과적으로 처리하는 방법은 무엇입니까?EWS 제한 정책 처리

모든 편지를 다운로드 할뿐 아니라 내 편지함에있는 모든 이메일을 읽으려고합니다. 내가 만나는 문제는 Exchange가 종종 The server cannot service this request right now. Try again later.이라는 예외를 반환한다는 것입니다. 꽤 자명 한 것 같아, 내 한계에 부딪혔을거야. 이 오류는 CAS를 사용하여 분당 처리하는 데 소요되는 시간이 얼마 남지 않았기 때문에 발생할 수 있습니다. 제한 정책은 EWSPercentTimeInCAS 인 것으로 보입니다.

쿼리 당 1,000 개의 이메일 만 수신 할 수 있으므로 모든 57,000 ~ 이메일을 쿼리해야합니다. 이 작품을 어떻게 만들 수 있습니까?

나는 제한 정책을 우회하려고 시도하지 않습니다. 마음에 오는 유일한 생각은 내가 1000 개의 이메일 (검색 결과 한도)을 검색 할 때마다 Thread.Sleep(30000) 문을 발행하는 것입니다. 하지만 1,000 개 항목을 가져 오는 데 훨씬 적은 시간이 걸리기 때문에 이상적이지는 않습니다.

이 문제는 첨부 파일을 다운로드 할 때 발생하는 것으로 보입니다. 사서함에는 총 7,000 개의 첨부 파일이 있습니다.

+0

더 이상 진전을 보지 않았습니까? – Midas

답변

6

귀하의 접근 방법이 정확합니다. 1 분당 요청 수를 줄여야합니다. 이 주제에 대한 자세한 내용은 http://blogs.msdn.com/b/mstehle/archive/2010/11/09/ews-best-practices-understand-throttling-policies.aspx을 참조하십시오.

+1

답장을 보내 주셔서 감사합니다. 내 문제는 백그라운드에서 첨부 파일을 다운로드한다는 것이 었습니다. 백그라운드에서 27,000 ~ 스레드를 사용하면 내 스로틀 제한에 오랜 시간이 걸리지 않는다고 상상할 수 있습니다. :) – gcso

+2

EWS의 조절 정책 구성을 쉽게 읽을 수 있습니까? PowerShell 또는 Active Directory에 종속되지 않습니까? 네트워크 외부에서는 액세스 할 수 없기 때문입니다. –

+0

@IvanG. 어떤 행운 ?? – Midas