问题描述
Exchange自动发现将通过UserSettingName.UserDisplayName
属性为我提供用户的显示名称.
Exchange Autodiscovery will give me the user's Display Name via the UserSettingName.UserDisplayName
property.
但是,在自动发现失败并且需要手动完成连接的情况下,我不知道如何获取DisplayName.
However, in cases where autodiscovery fails and connection needs to be done manually I can't figure out how to get the DisplayName.
我尝试了这个,但是我只是得到了用户的电子邮件地址:
I tried this, but I just get the users' email address:
_service = new ExchangeService();
_service.Credentials = new System.Net.NetworkCredential(exchangeSettings.EmailAddress, exchangeSettings.Password);
_service.Url = new Uri(exchangeSettings.ExternalEwsUrl);
NameResolutionCollection resolvedNames = _service.ResolveName(exchangeSettings.EmailAddress);
exchangeSettings.UserDisplayName = resolvedNames.First().Mailbox.Name;
谢谢
推荐答案
如果要使用ResolveName
并且想要displayName,则应使用重载来指定操作应返回AD联系人信息.然后,您可以只使用DisplayName
属性.
If you are going to use ResolveName
and you want the displayName then you should use the overload to specify that the operation should return the AD contact information. Then you can just use the DisplayName
property.
NameResolutionCollection ncCol =
service.ResolveName("[email protected]",ResolveNameSearchLocation.DirectoryOnly,true);
Console.WriteLine(ncCol[0].Contact.DisplayName);
这篇关于如何获得EWS中已登录用户的显示名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!