Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对ResolveName的Exchange api调用返回多个项_C#_Exchange Server - Fatal编程技术网

C# 对ResolveName的Exchange api调用返回多个项

C# 对ResolveName的Exchange api调用返回多个项,c#,exchange-server,C#,Exchange Server,我们正在使用exchange api获取项目,并使用以下调用: PropertySet psPropSet = new PropertySet(BasePropertySet.FirstClassProperties); service.ResolveName(userPhotoRequestModel.LoginId, ResolveNameSearchLocation.DirectoryOnly, true, psPropSet); 我们给它NTLogin作为要搜索的值。我们发现,有时,我

我们正在使用exchange api获取项目,并使用以下调用:

PropertySet psPropSet = new PropertySet(BasePropertySet.FirstClassProperties);
service.ResolveName(userPhotoRequestModel.LoginId, ResolveNameSearchLocation.DirectoryOnly, true, psPropSet);

我们给它NTLogin作为要搜索的值。我们发现,有时,我们得到的回报比NameResolutionCollection中的项目还多。您可能会认为,使用NTLogin,我们将获得一个完全匹配的项,并且集合中只有一个项。但有时我们得到2。还有其他人看到过类似的情况吗?

ResolveName进行部分匹配,例如,如果我有两个用户bsmith和bsmith1,并且我在bsmith上执行ResolveName,那么这两个条目都将返回,因为它们都匹配正在解析的内容

ResolveName使用ANR,因此如果您想要精确匹配,您需要做的就是在NTLogin前面加上=eg的前缀

service.ResolveName("=mylogin", ResolveNameSearchLocation.DirectoryOnly, true, psPropSet);

非常感谢。它工作得很好,感谢ANR上的链接。