Могу ли я запустить метод надстройки outlook в фоновом режиме при загрузке вызова функции? - PullRequest
0 голосов
/ 01 января 2019

Это мой код, есть два метода: уведомить почту, это вызов, когда в Outlook приходит новая почта.И второй метод - mailProcessTrigger - он выполняет некоторые изменения в почте.я хочу запустить mailProcessTrigger () метод другой поток и вызывать его каждые 5 минут.Я не могу сделать этот метод многопоточным.

namespace PhishCOP
    {
        public partial class Phishing
        {
            Outlook.Application outlookApp;
            Outlook.MAPIFolder deleterFolder = null;
            Outlook.Items mailItems = null;
            Outlook.MAPIFolder inboxFolder = null;
            Outlook.Items items;
            string SchemaTransportHeader = @"http://schemas.microsoft.com/mapi/proptag/0x007D001E";
            const string PR_ATTACH_DATA_BIN = "http://schemas.microsoft.com/mapi/proptag/0x37010102";

    private void Phishing_Load(object sender, RibbonUIEventArgs e)
        {
            outlookApp = new Outlook.Application();
            inboxFolder = outlookApp.ActiveExplorer().Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
            deleterFolder = outlookApp.ActiveExplorer().Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderJunk);
            mailItems = inboxFolder.Items;//.Restrict("[Unread]=true");
            mailItems.Sort("[ReceivedTime]", true);
            AddACategory();
            items = inboxFolder.Items;

            items.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(CallFunction);

           }


        private void CallFunction(object data)
        {
           //move mail to another folder
        }

        private void mailProcessTrigger()
        {
        //mail process
        }
   }
}

1 Ответ

0 голосов
/ 02 января 2019

Элементы в объектной модели Outlook нельзя использовать в фоновых потоках, что приведет к нестабильности в вашей надстройке и может привести к ее аварийному завершению.Вы можете использовать Extended MAPI только с C ++ или Redemption только для запуска многопоточных решений Outlook.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...