如何验证传递给NetworkCredential构造函数以用于EWS的凭据



是否有一种方法可以验证传递给System.Net.NetworkCredential类的凭据?我希望确保对ExchangeWeb服务的调用是有效的,以便这些调用能够正常工作。

以下是示例代码:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
service.Credentials = new NetworkCredential(user_id, password);
//how to validate credentials here? 
service.Url = new System.Uri("some_url");
Microsoft.Exchange.WebServices.Data.Appointment meeting1 = new Microsoft.Exchange.WebServices.Data.Appointment(service);
//add some extra stuff to the meeting object
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
Microsoft.Exchange.WebServices.Data.Mailbox test = new Microsoft.Exchange.WebServices.Data.Mailbox(email);
Microsoft.Exchange.WebServices.Data.FolderId folderid = new Microsoft.Exchange.WebServices.Data.FolderId(WellKnownFolderName.Calendar, test);
meeting1.Save(folderid,SendInvitationsMode.SendToAllAndSaveCopy);

此外,有没有办法检查.Save()是否真的有效?该函数没有返回值。

是否有一种方法可以验证传递给System.Net.NetworkCredential类的凭据?

这些是Active Directory凭据,因此如果您想验证它们,可以查看类似"根据Active Directory验证用户名和密码"之类的内容。EWS除了在凭证验证不正确的情况下返回401之外,没有提供任何凭证验证方法。

还有,有没有办法检查.Save((是否真的有效?该函数没有返回值

如果从服务器接收到无效响应,则会引发异常,因此在这种情况下,您应该至少在保存时进行try/catch(异常可以是基于请求或响应的(。有了Meetings,如果在您的示例中成功创建,那么meeting1对象的Id属性中现在将有一个基础Id。

相关内容

  • 没有找到相关文章

最新更新