Класс-оболочка C# Redemption не запускает события

Я написал следующий класс-оболочку для надстройки Outlook, используя Redemption:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace PSTAttachRemove_Redemption
{
    class PSTWatch
    {
        private Redemption.RDOPstStore pst;

        public PSTWatch(Redemption.RDOPstStore rPST)
        {
            pst = rPST;
            pst.OnMessageMoved += new Redemption.IRDOStoreEvents_OnMessageMovedEventHandler(pst_OnMessageMoved);
        }

        void pst_OnMessageMoved(string EntryID)
        {
            Debug.Print(EntryID);
        }
    }
}

В моем основном коде надстройки я вызываю эту оболочку, используя этот код:

void FileStorePopulation(Redemption.RDOStore store)
{
    switch (store.StoreKind)
    {
        case TxStoreKind.skPstAnsi:
        case TxStoreKind.skPstUnicode:
            PSTWatch p = new PSTWatch(store as RDOPstStore);
            watchedPSTs.Add(store.EntryID, p);
            break;
    }
}

где просматриваемые файлы PST — это глобальная переменная.

Я вижу, что просматриваемые PST заполняются, но элементы никогда не срабатывают при перемещении сообщения в PST. Идеи?

Спасибо


person Larry G. Wapnitsky    schedule 20.05.2011    source источник


Ответы (1)


Как вы инициализируете RDOSession? Вы вызываете Logon или устанавливаете RDOSession.MAPIOBJECT в Namespace.MAPIOBJECT из OOM? объявлен ли список наблюдаемых PST на глобальном (классовом) уровне? Вы используете несколько потоков?

person Dmitry Streblechenko    schedule 20.05.2011
comment
Global из основной надстройки. Я изменил свою методологию и только отслеживаю элементы. В ветке Redemption Group для вас появится больше кода (все это связано с моей надстройкой CopyTo) - person Larry G. Wapnitsky; 20.05.2011