Outlook VSTO AddIn для встреч - PullRequest
2 голосов
/ 05 декабря 2008

Мы создали надстройку VSTO для Outlook Meetings.

В рамках этого мы ловим SendEvent сообщения о событии FormRegionShowing:

_apptEvents.Send += new Microsoft.Office.Interop.Outlook.ItemEvents_SendEventHandler(_apptEvents_Send);

Затем метод _apptEvents_Send проверяет несколько свойств и завершает работу, где это необходимо.

private void _apptEvents_Send(ref bool Cancel)
{
    if (!_Qualified)
    {
        MessageBox.Show("Meeting has not been qualified", "Not Qualified Meeting", MessageBoxButtons.OK, MessageBoxIcon.Information);
        chkQualified.Focus();
        Cancel = true;
    }
}

Проблема в том, что сообщения некоторых пользователей отправляются дважды. Один раз, когда собрание отправлено, и второй раз, когда пользователь снова открывает Outlook.

Я искал утечки памяти, полагая, что что-то не может быть утилизировано должным образом, и добавил явное удаление объектов во все вызовы наконец, чтобы попытаться убедиться, что ресурсы управляются, но все же получают функциональные возможности в организации , Т.е. я никогда не сталкивался с проблемой во время разработки, ни с другими разработчиками во время тестирования. Все пользователи обновлены на платформе (3.5 SP1) и исправления для Outlook.

У кого-нибудь есть идеи о том, что может быть причиной этого?

Будем весьма благодарны за любые идеи, которые кто-либо может иметь.

Ответы [ 2 ]

0 голосов
/ 15 декабря 2008

Почему вы используете Microsoft.Office.Interop.Outlook.ApplicationEvents_10.Send Event вместо того, чтобы добавлять данный обработчик снова и снова.

При запуске вашего дополнения vsto просто добавьте:

((MSOutlook.ApplicationEvents_10_Event)_OutlookApp).ItemSend += new Microsoft.Office.Interop.Outlook.ApplicationEvents_10_ItemSendEventHandler(Utils_ItemSend);

void Utils_ItemSend(object Item, ref bool Cancel)
{
    //Do your operation here.
}
0 голосов
/ 12 декабря 2008

Я не профессионал, но в прошлом у меня были проблемы с автоматизацией Outlook из-за настроек отправки почты людьми.

Например, моя почта отправляется только тогда, когда я запускаю цикл отправки / получения. Хотя большинство людей ожидают немедленной отправки, и я помню некоторые головные боли, когда кто-то впервые попросил действительно простые сценарии автоматизации.

посмотрим, является ли это общим для всех разработчиков, и может ли пользователь настроить его по-другому.

...