asynchronous - 是否可以实现异步 Outlook 插件 FormRegionShowing 事件处理程序?
问题描述
我测试了一个简单的异步 FormRegionShowing 事件处理程序
private async void MyForm_FormRegionShowing(object sender, System.EventArgs e)
{
await Task.Delay(3000);
}
当我在 VS 中调试此代码并等待命令工作正常时。FormRegionShowing 事件仅触发一次,并且仅在电子邮件预览窗格中显示一个 MyForm 实例。但是,当通过插件的安装程序在测试机器上安装插件时,FormRegionShowing 事件会触发两次。结果,两个 MyForm 显示在预览窗格中。我将 Visual Studio 2015 调试器附加到 OUTLOOK 进程,这就是我想出的。当事件第一次触发时,程序在到达 await Task.Delay(3000) 命令后离开 MyForm_FormRegionShowing 方法。紧接着,FormRegionShowing 事件第二次触发。此时,await Task.Delay(3000) 命令完成。但是,因为事件被触发了两次,所以电子邮件预览窗格中显示了两个 MyForm 实例。你知道为什么会这样吗?谢谢你。
解决方案
看起来加载项或窗格在最终用户计算机上注册了两次。我建议从头开始创建一个新的示例加载项,以确保问题不依赖于窗格或加载项。
推荐阅读
- reactjs - 使用 CDN 导入库并在组件中使用其对象
- javascript - 如何从对象的属性中渲染组件?
- amazon-web-services - 在 AWS EKS 上使用 Kubernetes 身份验证方法部署 Hashicorp Vault 时出现证书错误
- android - Firebase 应用程序不会将用户添加到我的实时数据库
- css - 如何在 Firefox 和 Safari 中模拟 SVG `pointer-events: bounding-box`
- django - django:登录表单无效
- mysql - 获取 group by 子句 MySQL 中的额外属性
- javascript - 从多个中获取单个数组
- wordpress - 当我在 word press admin 支持的用户搜索框中搜索单引号时遇到 404 错误
- microsoft-graph-api - 使用 Microsoft Graph API 在 OneNote 页面中添加新的 div(内容块)