C# 主体上下文对象在IIS中承载应用程序后返回null

C# 主体上下文对象在IIS中承载应用程序后返回null,c#,asp.net,iis,iis-7.5,principal,C#,Asp.net,Iis,Iis 7.5,Principal,下面是我的代码: public List<ActiveDirectory> GetActiveDirectoryUsers(string user = "") { PrincipalContext ctx = new PrincipalContext(ContextType.Domain, Constants.DomainName); if (user == "User") {

下面是我的代码:

public List<ActiveDirectory> GetActiveDirectoryUsers(string user = "")
        {
            PrincipalContext ctx = new PrincipalContext(ContextType.Domain, Constants.DomainName);

            if (user == "User")
            {
                adUsers = GetSpecificGroupUsers(ctx, Constants.UserGroup);
            }
            else
            {
                adUsers = GetSpecificGroupUsers(ctx, Constants.AdminGroup);
                adUsers = GetSpecificGroupUsers(ctx, Constants.UserGroup);
            }

            ctx.Dispose();       
            return adUsers;
        }

        public List<ActiveDirectory> GetSpecificGroupUsers(PrincipalContext ctx,string groupName)
        {
            GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, groupName);

            if (grp != null)
            {
                foreach (Principal p in grp.GetMembers(false))
                {
                    if (p.DisplayName != null)
                    {
                        adUsers.Add(new ActiveDirectory()
                         {
                             UserName = p.DisplayName,
                             DisplayName = p.SamAccountName
                        });

                    }
                }

                grp.Dispose();

            }

            return adUsers;
        }
其中
常量.DomainName
=“我的域名”

如果有什么办法,请告诉我


感谢阅读并提出一些建议。

您是否对应用程序池授予了足够的权限?如何授予应用程序池权限?我收到此错误-“ctx.connected服务器引发system.directoryservicesComexception类型的异常”
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, Constants.DomainName);