तक नहीं पहुंच सकता है मैंने हाल ही में सी # का उपयोग कर एक .NET कंसोल ऐप को कोड किया है। इसका उद्देश्य किसी विशिष्ट फ़ोल्डर में ईमेल को पढ़ना था, उन्हें विशिष्ट मानों के लिए पार्स करना और उन्हें डेटाबेस में सहेजना था।सार्वजनिक फ़ोल्डर रूट
हमारी ईमेल प्रणाली, जिस समय मैंने मूल रूप से इसे कोड किया था, एक्सचेंज 2003 था। हालांकि, मुझे पता चला कि हम जल्द ही एक्सचेंज 2010 में अपग्रेड कर रहे होंगे: ergo, मैंने दोनों वातावरण में काम करने के लिए कोड बनाया है।
एक्सचेंज 2010 में माइग्रेशन के बाद, हालांकि, ऐप टूट गया है।
ऐप 2010 कार्यक्षमता के लिए ईडब्ल्यूएस एपीआई का उपयोग करता है। जब यह publicfoldersroot को खोजने के लिए ExchangeService की FindFolders विधि का उपयोग करने का प्रयास करता है, तो यह अपवाद फेंकता है।
ExchangeService service = new ExchangeService();
FindFoldersResults findRootFldrs;
service.UseDefaultCredentials = true;
service.AutodiscoverUrl("[email protected]", delegate(string x) {
return true; });
FolderView fview = new FolderView(100);
fview.Traversal = FolderTraversal.Deep;
findRootFldrs = service.FindFolders(WellKnownFolderName.PublicFoldersRoot,
fview);
अपवाद: कोड यह ErrorInvalidSchemaVersionForMailboxVersion
, उर्फ:
मेलबॉक्स कि अनुरोध किया गया था निर्दिष्ट RequestServerVersion
मैं का प्रयास किया है का समर्थन नहीं करता
एक्सचेंज सेवा को 2007 में सेट करना (एक फेंकता है अपवाद: "एक आंतरिक सर्वर त्रुटि हुई। कार्रवाई विफल रही। ")
अपने आप को देते हुए सार्वजनिक फ़ोल्डर की अनुमति के उच्चतम स्तर (कोई प्रभाव नहीं)
मैन्युअल अपनी उपलब्धियों को स्थापित करने (कोई प्रभाव नहीं)
मैं देख सकते हैं Outlook 2007 में सार्वजनिक फ़ोल्डर्स; publicfoldersroot प्रॉपर्टी इंटेलिजेंस में उपलब्ध है; कोड स्थानीय फ़ोल्डरों पर काम करता है (मैं अपने इनबॉक्स को पार्स कर सकता हूं)।
मेरी वर्तमान सोच यह है कि यह एक्सचेंज के हालिया सेटअप पर एक सेटिंग है ई 2010: दुर्भाग्य से यह वास्तव में मेरा क्षेत्र नहीं है। अपवाद मुझे बताता है कि यह एक्सचेंज के पिछले संस्करण का उपयोग करने की कोशिश कर रहा है। इसे 2007 में सेट करने से कोड को आंतरिक सर्वर त्रुटि के साथ असफल होने का कारण बनता है।