سؤال

أود أن حساب عمر الرسائل في علبة بريد Exchange للتأكد من أنها الجلوس هناك لمدة دقيقة على الأقل قبل برنامجنا (C++, MAPI) العمليات لهم.هذه الطريقة فلتر البريد المزعج نستخدم يجب أن يكون لديك ما يكفي من الوقت للقيام بعملها.

لأن الوقت على جهاز الكمبيوتر حيث يعمل البرنامج قد تكون مختلفة من الوقت المستخدمة من قبل ملقم Exchange لدينا برنامج لقراءة وقت الخادم عبر MAPI.

هل هناك حلا ؟ طريقة واحدة يمكن أن يخطر على تعديل بعض البند فورا قراءة PR_LAST_MODIFICATION_TIME, ولكن أود أن تجنب ذلك.

تحرير:
البرنامج هو مجموعة العمل أن يعمل كل 10 دقائق يقرأ مجلة علبة البريد.

هل كانت مفيدة؟

المحلول

أفترض كنت تحصل على MAPI الحدث إعلام عند وصول الرسالة في علبة بريد Exchange.أود أن أقترح دفع هذه الرسائل في قائمة الانتظار و الانتظار n ثانية (مثلا ، 60s) قبل معالجة الرسالة.منذ ذلك الوقت نسبة إلى إعلام الحدث لن يكون هناك أي مشكلة فيما يتعلق الساعة الانجراف بين أجهزة الكمبيوتر.

بشأن بدء تشغيل التطبيق الخاص بك سوف تضطر إلى القيام بذلك على الرسائل الموجودة مرة أخرى ولكن أنا لا أتصور أن هذا من شأنه أن يشكل قضية.

نصائح أخرى

يمكنك استخدام PR_MESSAGE_DELIVERY_TIME.

كما في MSDN:

على PR_MESSAGE_DELIVERY_TIME الملكية يصف الرسالة المخزنة على الملقم بدلا من وقت التحميل عند النقل مزود نسخ الرسالة من الخادم إلى متجر محلي.

بخلاف ذلك - عند الحل الخاص بك يعمل على العميل على أي حال - لماذا لا تستخدم الوقت العميل في المقام الأول ؟ غير صحيحة على مدار الساعة أم لا ، النسبية مرات (على سبيل المثال"دقيقة واحدة بعد ...") هذا ينبغي أن لا فرق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top