RDO 5.14를 사용하여 Exchange 2000에서 내 회사의 상당히 큰 공용 폴더 레이아웃 (폴더 수 000 개)의 내용을 내보내려고합니다.RDO/MAPI를 사용하여 대용량 공용 폴더 저장소를 추출하고 E_MAPI_TOO_BIG를 가져 오는 중
나는 Exchange 사용자가 Exchange 저장소 제한 인 documented here을 위반했기 때문에 Exchange 2010에서 E_MAPI_TOO_BIG 오류를 제공한다는 점에서 많은 사람들이 발견 한 문제에 부딪힙니다.
많은 경우에 허용되는 솔루션은 더 많은 항목의 처리를 할 수 있도록 표시 않지만 여전히 날에 500 개 이상의 메시지를받을 수 없습니다 가끔 모든 심판에 while (Marshal.ReleaseComObject(ref)>0)
및 GC.Collect()
를 호출하는 것입니다.
일부 코드를 가지고 노는 중입니다. 그것은 놀랍게도 (적어도 나에게) 사실을 드러낸다. 나는 어떤 시점에서이 코드 샘플을 사용하는 경우는 다른 폴더에 액세스하려고 다른 코드에서 (실패,
for (int i = 1; i < items.Count; ++i) {
IRDOMail item = items.Item(i);
string SUCCESS = item.EntryID;
}
하지만 :이 같은 폴더에있는 항목을 반복하면
이 아무 문제가 없다) with E_MAPI_TOO_BIG :
for (int i = 1; i < items.Count; ++i) {
IRDOMail item = items.Item(i);
string FAIL = item.Subject;
}
이 시점에서 필자는 COM 기술의 한계에 도달했습니다. .NET InterOp에서 MailItem의 COM 속성을 참조 해제하는 일부 작업을 끝내면 내가 풀어 낼 수없는 참조를 얻게됩니다. 그렇다면 내가 어떻게 고칠 수 있을지 모르겠다.
RDO없이 MAPI를 사용하면 MAPI (14.0)의 특이한 점을 더 시사하면 비슷한 (그러나 다른) 동작을 볼 수 있습니까?
참고 문헌을 매달기에 특히주의해야하며, 여러 점 표기법을 사용하지 않는 것이 좋습니다. –