我为outlook写了一个插件,当我点击按钮时它会弹出约会的LastModificationTime
像这样的按钮事件处理程序
Outlook.ApplicationClass outlook = new Outlook.ApplicationClass();
Outlook.NameSpace ns = outlook.GetNamespace("MAPI");
Outlook.MAPIFolder folder = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar);
Outlook.Items FolderItems = folder.Items;
DateTime MyDate = DateTime.Now;
List<Outlook.AppointmentItem> Appts = (
from Outlook.AppointmentItem i in folder.Items
where i.Start.Month == MyDate.Month && i.Start.Year == MyDate.Year
select i).ToList();
foreach (Outlook.AppointmentItem Appt in Appts)
{
System.Windows.Forms.MessageBox.Show(Appt.LastModificationTime.ToString());
}
问题是我手机改了约会,然后通过exchange服务器同步到outlook
产生问题的步骤:
单击按钮,获取 LastModificationTime 为“time1”
在我的手机中将开始日期更改为“start1”,通过 Exchange 服务器同步到 Outlook
单击按钮,获取 LastModificationTime,仍然是“time1”
在 Outlook 中将开始日期更改为“start2”,但约会仍处于“start1”日期。
重启展望
单击按钮,获取新的 LastModificationTime 作为“time2”,约会在“start1”日期,“start2”消失了。
没有问题的步骤
- 单击按钮,获取 LastModificationTime 为“time1”
1.1。重启展望
在我的手机中将开始日期更改为“start1”,通过 Exchange 服务器同步到 Outlook
点击按钮,获取 LastModificationTime, "time2"
如果约会是通过交换服务器更改的,那么 List Appts 似乎永远不会刷新到最新值。
这个问题有什么解决办法吗?或其他原因使其发生?