Outlook VSTO - 更新定期约会项目 Parent
Outlook VSTO - Update Periodic AppointmentItem Parent
我正在使用 Outlook Add-In(插件)并且基本上是在使用 Outlook 约会项目 (Outlook.AppointmentItem
)。
每次有人创建、保存或更新定期约会项目时,我需要获取主要 AppointmentItem
(parent)并添加或更新 UserProperty
.
直到这里,它或多或少都在工作。这意味着我得到 parent 并且我可以操纵他的 UserProperties
但它不是每次都有效。
如果定期约会出现 5 次,并且对于每个引用我都会更新一些内容,我希望修改 parent 的 UserProperties
5 次。但这不起作用,有时 parent his old "state".
从技术上讲,在 Item_Write
中我得到了 parent 并更改了他的 UserProperties
。就在 Item_Write
的最后一个括号之前,我检查了 parent 的 UserProperties,它们包含我所期望的内容。但是在 Item_Write
之后调用的 "Close" 方法中,当我检查 parent 是否仍然包含预期的 UserProperties
时,我发现它们没有被更新并且它们还是和以前一样的状态。
经过一些研究,我看到很多人(甚至是 Msdn)说我应该使用 Marshal.ReleaseComObject()
。我试过了,现在我每次调用它们时都会释放 parent(和其他 COM
object)。也许我没有很好地使用它,因此,它仍然不起作用。
问题似乎出现在 Item_Write
和 Close
之间。离开 Item_Write
之后,UserProperties
还可以,但是当我进入 Close
时,它们就不行了。
有人遇到过类似的问题吗?
我应该在 Item_Write
结束前的 parent 上使用 Marshal.FinalReleaseComObject()
吗?
我认为这样更好,或者通过查看我的代码的某些部分更容易理解发生了什么,尽管问。
这听起来肯定与未正确释放对象有关。阅读 AppointmentItem.GetRecurrencePattern 方法文档中的备注部分,因为它完美地描述了您的情况:https://msdn.microsoft.com/en-us/library/office/ff868441.aspx.
我正在使用 Outlook Add-In(插件)并且基本上是在使用 Outlook 约会项目 (Outlook.AppointmentItem
)。
每次有人创建、保存或更新定期约会项目时,我需要获取主要 AppointmentItem
(parent)并添加或更新 UserProperty
.
直到这里,它或多或少都在工作。这意味着我得到 parent 并且我可以操纵他的 UserProperties
但它不是每次都有效。
如果定期约会出现 5 次,并且对于每个引用我都会更新一些内容,我希望修改 parent 的 UserProperties
5 次。但这不起作用,有时 parent his old "state".
从技术上讲,在 Item_Write
中我得到了 parent 并更改了他的 UserProperties
。就在 Item_Write
的最后一个括号之前,我检查了 parent 的 UserProperties,它们包含我所期望的内容。但是在 Item_Write
之后调用的 "Close" 方法中,当我检查 parent 是否仍然包含预期的 UserProperties
时,我发现它们没有被更新并且它们还是和以前一样的状态。
经过一些研究,我看到很多人(甚至是 Msdn)说我应该使用 Marshal.ReleaseComObject()
。我试过了,现在我每次调用它们时都会释放 parent(和其他 COM
object)。也许我没有很好地使用它,因此,它仍然不起作用。
问题似乎出现在 Item_Write
和 Close
之间。离开 Item_Write
之后,UserProperties
还可以,但是当我进入 Close
时,它们就不行了。
有人遇到过类似的问题吗?
我应该在 Item_Write
结束前的 parent 上使用 Marshal.FinalReleaseComObject()
吗?
我认为这样更好,或者通过查看我的代码的某些部分更容易理解发生了什么,尽管问。
这听起来肯定与未正确释放对象有关。阅读 AppointmentItem.GetRecurrencePattern 方法文档中的备注部分,因为它完美地描述了您的情况:https://msdn.microsoft.com/en-us/library/office/ff868441.aspx.