在Citrix上执行时,mailItem上的SetProperty / GetProperty无法按预期工作

问题描述

我有一个Outlook VSTO插件

我使用mailItem.PropertyAccessor.SetPropertyhttps://docs.microsoft.com/en-us/office/vba/api/outlook.propertyaccessor.setproperty)和mailItem.PropertyAccessor.GetPropertyhttps://docs.microsoft.com/en-us/office/vba/api/outlook.propertyaccessor.getproperty)来保存和检索有关邮件项目的信息。一切正常。

但是,在Citrix环境中执行(并且仅在时)时,SetProperty不会引发任何错误,并且GetProperty会像没有属性一样工作。所以我没有任何错误

有什么办法解决这个问题吗?

解决方法

如果仅出于内部目的,并且永远不需要保存,则不要设置属性-可能会导致不良后果:该项目变脏,浪费了属性映射(每个属性最多可以有0xFFFF个命名属性邮箱-达到限制后,邮箱几乎已经耗尽)。

创建一个包装类,将MailItem对象作为属性以及列表,字典或一组显式属性来保存您的临时逐项数据。