ViewSize
कन्स्ट्रक्टर स्तर पर निर्दिष्ट है। मुझे the documentation for the constructor मिला, लेकिन यह नहीं कहता कि अधिकतम आकार कितना बड़ा है।ईडब्ल्यूएस में आइटमव्यू का अधिकतम आकार क्या है?
उत्तर
2,147,483,647 की सीमा है क्योंकि इसका डेटा प्रकार Int32, है, मैंने इसका इस्तेमाल किया और परीक्षण किया कि अगर हम आइटमव्यू (2147483647) पास करते हैं तो यह कोई त्रुटि नहीं लौटाता है;
यह केवल खोज आइटम के पृष्ठ आकार को परिभाषित करता है, यदि दृश्य पृष्ठ आकार की तुलना में अधिक खोज आइटम परिणाम हैं, तो बाद के कॉल जो आइटमव्यू ऑफ़सेट का उपयोग करते हैं, शेष परिणामों को वापस करने के लिए किया जाना चाहिए।
रेफरी - http://msdn.microsoft.com/en-us/library/exchange/dd633693%28v=exchg.80%29.aspx http://msdn.microsoft.com/en-us/library/system.int32.maxvalue.aspx
एक्सचेंज में डिफ़ॉल्ट नीति 1000 मदों के लिए पृष्ठ आकार की सीमा। पृष्ठ आकार को उस मान से अधिक मानना जो इस संख्या से अधिक है, का कोई व्यावहारिक प्रभाव नहीं है। अनुप्रयोगों को इस तथ्य के लिए भी जिम्मेदार होना चाहिए कि EWSFindCountLimit थ्रॉटलिंग पैरामीटर मान के परिणामस्वरूप आंशिक परिणाम सेट करने वाले अनुप्रयोगों के लिए आंशिक परिणाम सेट लौटाया जा सकता है।
http://msdn.microsoft.com/en-us/library/office/jj945066(v=exchg.150).aspx
आप ItemView निर्माता में Int32 मान निर्दिष्ट कर सकते लेकिन केवल हजार आइटम returnd कर दिया जाएगा। शेष वस्तुओं को प्राप्त करने के लिए आपको एक लूप निर्दिष्ट करना होगा।
bool more = true;
ItemView view = new ItemView(int.MaxValue, 0, OffsetBasePoint.Beginning);
view.PropertySet = PropertySet.IdOnly;
FindItemsResults<Item> findResults;
List<EmailMessage> emails = new List<EmailMessage>();
while (more)
{
findResults = service.FindItems(WellKnownFolderName.Inbox, view);
foreach (var item in findResults.Items)
{
emails.Add((EmailMessage)item);
}
more = findResults.MoreAvailable;
if (more)
{
view.Offset += 1000;
}
}
धन्यवाद !! इससे मुझे बड़ा समय मिला – Kage