Principalcontext错误服务器名称不能包含空格字符

时间:2015-05-27 19:57:38

标签: c# asp.net iis-7

我发布了一个asp页面,当我从VS运行本地时,页面很好,但在服务器中不起作用。 在IIS 7.0中作为Application,页面显示此错误:

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.ArgumentException:服务器名称不能包含空格字符。

来源错误:

第96行:////加载广告信息

第97行:PrincipalContext ctx = new PrincipalContext(ContextType.Domain,domain,container);

第98行:UserPrincipal user = UserPrincipal.FindByIdentity(ctx,userName);

代码很好,请按照:

    //Load Ad User
    string[] temp = Convert.ToString(WindowsIdentity.GetCurrent().Name).Split('\\');
    string domainuserName = temp[0] + "\\" + temp[1];
    string userName = temp[1];
    string domain = temp[0];
    lblUserAD.Text = Convert.ToString(userName).ToUpper();
    string container = @"DC=america,DC=ad,DC=flex,DC=com";


    ////Load Ad Info
    PrincipalContext ctx = new PrincipalContext(ContextType.Domain, domain,container);
    UserPrincipal user = UserPrincipal.FindByIdentity(ctx, userName);

    DirectoryEntry directoryEntry = user.GetUnderlyingObject() as DirectoryEntry;

1 个答案:

答案 0 :(得分:0)

对我来说,将应用程序池的身份从 ApplicationPoolIdenity 更改为 LocalSystem

后,此问题已解决