Ich verwende die verwaltete Exchange-Webdienste-API, um mit Aufgaben (Exchange 2007 SP1) zu arbeiten. Ich kann sie gut machen. Wenn ich versuche, Aktualisierungen vorzunehmen, funktioniert es jedoch für alle Felder mit Ausnahme des Felds .Body. Jedes Mal, wenn ich versuchen, zuzugreifen (Lesen/Update) das Feld, es gibt den folgenden Fehler:Fehler beim Versuch, den .Body einer Aufgabe über EWS Managed API zu lesen/zu aktualisieren - "Sie müssen diese Eigenschaft laden oder zuweisen, bevor Sie ihren Wert lesen können."
"You must load or assign this property before you can read its value."
Der Code Ich benutze sieht wie folgt aus:
//impersonate the person whose tasks you want to read
Me.Impersonate(userName); //home-made function to handle impersonation
//build the search filter
Exchange.SearchFilter.SearchFilterCollection filter = New Exchange.SearchFilter.SearchFilterCollection();
filter.Add(New Exchange.SearchFilter.IsEqualTo(Exchange.TaskSchema.Categories, "Sales"));
//do the search
EWS.Task exTask = esb.FindItems(Exchange.WellKnownFolderName.Tasks, filter, New Exchange.ItemView(Integer.MaxValue));
exTask.Subject = txtSubject.Text; //this works fine
exTask.Body = txtBody.Text; //This one gives the error implying that the object isn't loaded
Das Merkwürdige ist, dass, die Kontrolle der Eigenschaftstasche zeigt an, dass das Objekt 33 Eigenschaften enthält, aber {Body} gehört nicht dazu. Diese Eigenschaft scheint von der Basisklasse .Item oder etwas geerbt zu sein.
Also muss ich das Objekt als Typ Item neu laden? Oder laden Sie es neu über .Bind oder etwas? Denken Sie daran, dass ich dies mit Tausenden von Elementen tun muss, so dass Effizienz mir wichtig ist.
arbeitete wie ein Charme! – NoReceipt4Panda