2012-08-17 53 views
1

我使用EWS API導出預約用戶的交流壓延機。它工作正常,但我在HTML沒有與表調芯等格式正確的任命注意到。於是,我嘗試設置預約身型物業爲HTML,但得到的ServiceObjectPropertyException說:「你必須加載或轉讓該物業之前,你可以閱讀它的價值」上線,我設置的屬性。ServiceObjectPropertyException上的EWS約會

   User SelectedUser = UserController.GetExchangeCredentials(UserID); 

       //If they have their exchange credentials setup then create the appointment in their exchange calender 
       if (SelectedUser.ExchangeUsername != String.Empty) 
       { 
        Client ClientInfo = ClientController.GetContactInfoForCalenderAppointment(int.Parse(btn_SubmitNextContactDate.CommandArgument.ToString()), int.Parse(ddl_Contact.SelectedValue)); 

        //Setup the exchange service with the user credentials of that receiving the appointment 
        ExchangeService Service = new ExchangeService(ExchangeVersion.Exchange2007_SP1); 
        Service.UseDefaultCredentials = false; 
        Service.Credentials = new WebCredentials(SelectedUser.ExchangeUsername, SelectedUser.ExchangePassword, SelectedUser.ServerDomain); 
        Service.AutodiscoverUrl(SelectedUser.Email); 

        //Create the appointment 
        Microsoft.Exchange.WebServices.Data.Appointment Appointment = new Microsoft.Exchange.WebServices.Data.Appointment(Service); 
        Appointment.Body.BodyType = BodyType.HTML; 
        Appointment.Subject = "Next Contact Date for " + OperatingName.Text;       
        Appointment.Body = "<table><tr><td><b>Client Name:</b></td><td>" + ClientName.Text + "</td></tr>"; 
        Appointment.Body += "<tr><td><b>Operating Name:</b></td><td>" + OperatingName.Text + "</td></tr>"; 
        Appointment.Body += "<tr><td><b>Service:</b></td><td>" + ddl_ServiceType.SelectedItem.Text + "</td></tr>"; 
        Appointment.Body += "<tr><td><b>Contact Method:</b></td><td>" + ddl_ContactMethod.SelectedItem.Text + "</td></tr>"; 
        Appointment.Body += "<tr><td><b>Contact Name:</b></td><td>" + ddl_Contact.SelectedItem.Text + "</td></tr>"; 
        Appointment.Body += "<tr><td><b>Contact Phone:</b></td><td>" + ClientInfo.Contacts[0].Phone + "</td></tr>"; 
        Appointment.Body += "<tr><td><b>Contact Email:</b></td><td>" + ClientInfo.Contacts[0].Email + "</td></tr>"; 
        Appointment.Body += "<tr><td><b>Client Address 1:</b></td><td>" + ClientInfo.Address1 + "</td></tr>"; 
        Appointment.Body += "<tr><td><b>Note:</b></td><td>" + txt_NextContactDateNote.Content + "</td></tr></table>"; 
        Appointment.Start = DateTime.Parse(txt_NextContactDate.Text); 
        Appointment.End = DateTime.Parse(txt_NextContactDate.Text); 
        Appointment.Save(SendInvitationsMode.SendToNone); 
       }     
+0

Derp。只好到屬性設置體內後分配。但現在我發現,在壓延時心不是正確格式化HTML還是?爲什麼是這樣? – cpiasecki 2012-08-17 17:46:58

回答

1

Exchange 2010 SP1中正常工作......我沒有Exchange 2007 SP1中對它進行測試。

Appointment appt = new Appointment(service) 
{ 
    Subject = "Next Contact Date", 
    Body = new MessageBody() 
    { 
     BodyType = BodyType.HTML, 
     Text = "here is some body content. <b>this is bold</b>" + 
       "<table><tr><td><b>Client name: </b></td><td>George</td></tr></table>", 
    }, 
    Start = DateTime.Now.AddDays(1), 
    End = DateTime.Now.AddDays(1).AddHours(.5), 
}; 
appt.Save(); 
+1

測試,它的工作原理! – Gyocol 2014-11-10 08:46:53