所以我创建与给定ICalUid交易所(2007)预约:
var app = new Appointment(svc);
app.ICalUid = id;
app.Subject = "Test Appointment";
app.Recurrence = new Recurrence.DailyPattern(DateTime.Now, 3);
app.RequiredAttendees.Add("mstum@example.com");
app.AllowNewTimeProposal = false;
app.Body = new MessageBody(BodyType.HTML, "This is a <b>Test!</b>");
app.Save();
后来,我想更新这一任命,在这一点上,我需要通过ICalUid找到它。
然而,似乎没有办法做到这一点? 我可以用Appointment.Bind
只对Exchange ID,这是我没有在更新的时间(存储这是非常不切实际的)
我可以创建具有相同ICalUid,这似乎表现得像一个更新一个新的约会,但求能够接受/拒绝再次,而不是仅仅显示“没有更新所需”。
有没有做任何适当的方式?
您可以使用ExchangeService.FindItems
搜索的Appointment
与ICalUid
-参见下面的例子。 但是请注意,它有发现的定期约会的一个问题。
看到:
- http://social.technet.microsoft.com/Forums/fi-FI/exchangesvrdevelopment/thread/26c2f76d-93bb-4a70-80e8-cf6cc9c66254
您不使用Exchange 2010中,因为有一种耻辱getICalUID()
在EWS托管API 1.1.5。
下面是一些可以让你得到了较为满意的解决方案的一些其他链接。
http://blogs.msdn.com/b/mstehle/archive/2009/09/02/ews-uid-not-always-the-same-for-orphaned-instances-of-the-same-meeting.aspx
http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/09883d57-e2a2-4db6-8800-9b9d251d6231/
http://social.technet.microsoft.com/Forums/pl-PL/exchangesvrdevelopment/thread/5b67df1d-0a15-40cf-aa5e-ca811087d16d
http://social.technet.microsoft.com/Forums/en/exchangesvrdevelopment/thread/a9148747-b51c-4b86-b942-27c1e87f4440
http://social.technet.microsoft.com/Forums/fi-FI/exchangesvrdevelopment/thread/1bab6e2c-805c-4999-babf-cc7c4aa0d669
http://social.technet.microsoft.com/Forums/pl-PL/exchangesvrdevelopment/thread/09057b7d-45d7-48df-8ca1-df119637ff60
检查两个FindAppointments
方法ExchangeService
http://msdn.microsoft.com/en-us/library/dd635918(v=exchg.80 )
http://msdn.microsoft.com/en-us/library/dd633767(v=exchg.80 )