给定一个电子邮件地址,我试图确定它是否是有效用户的登录地址。
我试过下面的代码,但它只有在用户之前被 Lync 客户端查询过的情况下才有效,否则用户被识别为未知。
using Microsoft.Lync.Model;
using Microsoft.Lync.Model.Extensibility;
private bool IsLyncUser(string eMail, out Microsoft.Lync.Model.Contact imContact)
{
var lyncClient = LyncClient.GetClient();
imContact = lyncClient.ContactManager.GetContactByUri(eMail);
if (null != imContact)
{
try
{
var sourceType = (ContactSourceTypes)imContact.Settings[ContactSetting.Source];
return (ContactSourceTypes)0 != (ContactSourceTypes.ExchangeService | ContactSourceTypes.GlobalAddressList | sourceType);
}
catch
{
imContact = null;
}
}
return false;
}
问题:
- 为什么只有通过 Lync 客户端 GUI 查询用户时才加载数据?
- 如何“获取”数据,以便在查询时可用?
- 是否有更好的方法来查询电子邮件是否属于有效的 Lync 用户?