【问题标题】:This add-in caused Outlook to start slowly此加载项导致 Outlook 启动缓慢
【发布时间】:2015-01-06 15:59:41
【问题描述】:

对于使用 .Net 3.5 开发的 Outlook 插件,此消息在 Outlook 2013 启动时显示。我已经尝试过这篇文章中的建议:This addin caused outlook to start slowly 但没有任何运气。 这是我的初始方法:

private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        _Explorers = this.Application.Explorers;
        _Inspectors = this.Application.Inspectors;
        _Explorers.Application.NewMailEx += new Outlook.ApplicationEvents_11_NewMailExEventHandler(Application_ItemReceive);
        _Explorers.Application.Reminders.ReminderFire += new Outlook.ReminderCollectionEvents_ReminderFireEventHandler(Application_ReminderFire);
        outlookNamespace = this.Application.GetNamespace("MAPI");
    }

【问题讨论】:

    标签: c# .net outlook .net-3.5 outlook-addin


    【解决方案1】:

    访问 Windows 注册表是一项耗时的任务,您可以在另一个线程上运行它。您应该将此类内容移至另一个线程,以防止您的加载项禁用。请参阅Performance criteria for keeping add-ins enabled,其中声明如下:

    扩展 Outlook 2010 的加载项弹性支柱,Outlook 2013 监视加载项性能指标,例如加载项启动、关闭、文件夹切换、项目打开和调用频率。 Outlook 会记录每个性能监控指标的经过时间(以毫秒为单位)。

    例如,启动指标衡量每个连接的加载项在 Outlook 启动期间所需的时间。 Outlook 然后计算 5 次连续迭代的中值启动时间。如果中值启动时间超过 1000 毫秒(1 秒),Outlook 将禁用加载项并向用户显示加载项已被禁用的通知。用户可以选择始终启用加载项,在这种情况下,即使加载项超过 1000 毫秒的性能阈值,Outlook 也不会禁用加载项。

    【讨论】:

    • 没有注册任务也得到同样的结果,不知道时间都花在哪里了
    • 您是否尝试测试新创建的空插件项目?你得到相同的结果吗?
    • 执行新创建的空插件项目时没有将其添加到慢插件列表中,不会出现错误
    • 这证实了我的假设,即问题取决于您的代码。尝试注释代码,逐行取消注释你会发现一个薄弱的地方。请注意,加载引用的库也需要一些时间。
    • 尝试注释所有代码,而不仅仅是在 Startup 事件处理程序中。另请查看引用的程序集。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 2016-07-26
    • 2021-10-15
    • 1970-01-01
    相关资源
    最近更新 更多