繁体   English   中英

C# EWS ExchangeService:我怎么知道它是否经过身份验证?

[英]C# EWS ExchangeService: How do I know if it's authenticated?

我需要对 EWS ExchangeService 进行身份验证,当我使用下面的代码时,我没有收到任何错误,但我没有看到服务变量上的任何属性表明它是否已通过身份验证。 即使我传递了错误的凭据,它也会执行相同的操作。 没有错误,也没有属性说明它是否已通过身份验证。

public static ExchangeService GetService()
{
    ExchangeService service = new ExchangeService();
    service.Url = new Uri(@"https://someDomain.com/ews/Exchange.asmx");
    service.Credentials = new WebCredentials("someEmail", "somePassword");
    return service;
}

我在谷歌上广泛搜索,并没有发现任何有关身份验证的有用信息。

执行任何需要实时连接的操作并查看它是否返回错误。

Dmity 的评论导致了解决方案。

ExchangeService service = new ExchangeService();
service.Url = new Uri(@"https://luca1.cmtaegrs.com/ews/Exchange.asmx");
service.Credentials = new WebCredentials("xcatest@cmtaegrs.com", "Cdaqt5e3swt5%");

//Add the operation as @Dmity suggested
EmailMessage message = new EmailMessage(service);
message.Subject = "Interesting";
message.Body = "This is a test for authenticating.";
message.ToRecipients.Add("george.padvorac@crocodiledigital.net");

//See if we have the correct credentials
try
{
    message.Send();
    _credentials_good = true;
}
catch (Exception ex)
{
    _credentials_good = false;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM