我发布了一个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;
答案 0 :(得分:0)
对我来说,将应用程序池的身份从 ApplicationPoolIdenity 更改为 LocalSystem
后,此问题已解决