C# Exchange上公用文件夹上的ItemAdd事件

C# Exchange上公用文件夹上的ItemAdd事件,c#,event-handling,outlook-addin,C#,Event Handling,Outlook Addin,我在将事件处理程序附加到公用文件夹的ItemAdd事件时遇到问题 问题是事件处理程序在几分钟后停止调用 成功的电话 代码很简单。我有一个ThisAddIn类,它创建了一个对象,该对象将函数附加到构造函数中的ItemAdd事件。该函数只是弹出一个消息框 请给我指一下正确的方向。我简直不知道该在哪里查找错误 提前谢谢大家,, 安纳托利 以下是我尝试运行的测试代码: public partial class ThisAddIn { internal static Outlook.Folder

我在将事件处理程序附加到公用文件夹的
ItemAdd
事件时遇到问题

问题是事件处理程序在几分钟后停止调用 成功的电话

代码很简单。我有一个
ThisAddIn
类,它创建了一个对象,该对象将函数附加到构造函数中的
ItemAdd
事件。该函数只是弹出一个消息框

请给我指一下正确的方向。我简直不知道该在哪里查找错误

提前谢谢大家,, 安纳托利

以下是我尝试运行的测试代码:

public partial class ThisAddIn
{
    internal static Outlook.Folder posts_folder = null;
    private static test t;

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {

        t = new test();
    }
{

class test
{
    public test()
    {
        System.Windows.Forms.MessageBox.Show("Attaching...");
        ThisAddIn.posts_folder.Items.ItemAdd +=new Microsoft.Office.Interop.Outlook.ItemsEvents_ItemAddEventHandler(Items_ItemAdd);
    }
    void Items_ItemAdd(object Item)
    {
        System.Windows.Forms.MessageBox.Show((Item as Outlook.PostItem).Subject);
    }
}

持续的谷歌搜索完成了它的工作。我找到了解决问题的方法。看来我不是唯一一个经历过这一切的人

我已将对要跟踪到全局范围的文件夹的Items集合的引用添加到全局范围:

internal static class stor
{
    public static Outlook.Items i;
}

public partial class ThisAddIn
{
    internal static Outlook.Folder posts_folder = null;

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        // the code for finding a posts_folder is omitted

        stor.i = posts_folder.Items;
        stor.i.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(Posts_Add);
    }

    static void Posts_Add(object Item)
    {
        System.Windows.Forms.MessageBox.Show("New item");
    }
{

现在,它的工作如预期。虽然我不明白他们说这是垃圾收集问题的所有细节。我的事件处理程序最终被扔进了垃圾箱。全局作用域上对Items集合的引用阻止了这种情况的发生。

您能发布您的代码片段吗。。如何声明事件处理程序。。您使用的是EventHandlerVar+=newsomeeventhandler还是+-someeventHandler?您使用的是委托、callcback吗。?很难说不看你到目前为止都做了些什么谢谢