我在AD中使用Principal Extensions用户来访问UserPrincipal通常无法检索的属性。我的自定义属性定义如下:
[DirectoryProperty("facsimileTelephoneNumber")]
public string FaxNumber
{
get
{
if (ExtensionGet("facsimileTelephoneNumber").Length != 1)
return null;
return (string)ExtensionGet("facsimileTelephoneNumber")[0];
}
set
{
ExtensionSet("facsimileTelephoneNumber", value);
}
}
如何使用ExtensionSet清除属性?如果我输入null或空字符串,我几乎总会收到此错误消息:"为目录服务指定的属性语法无效。"。听起来你应该清理该属性,但我不确定它如何与ExtensionSet一起使用。
答案 0 :(得分:1)
问题是我没有发回一个数组,我只发回了值,而不是数组:
[DirectoryProperty("facsimileTelephoneNumber")]
public string FaxNumber
{
get
{
if (ExtensionGet("facsimileTelephoneNumber").Length != 1)
return null;
return (string)ExtensionGet("facsimileTelephoneNumber")[0];
}
set
{
ExtensionSet("facsimileTelephoneNumber", string.IsNullOrEmpty(value) ? new string[1] {null} : new string[1] {value});
}
}