小编dig*_*dig的帖子

C#int-或object-to-double cast错误解释

以下代码在最后一次分配时失败:

static void Main(string[] args)
{
    int a = 5;
    object b = 5;

    System.Diagnostics.Debug.Assert( a is int && b is int );

    double x = (double)a;
    double y = (double)b;
}
Run Code Online (Sandbox Code Playgroud)

如果a和b都是int,那么这个错误的原因是什么?

c# double int casting

8
推荐指数
3
解决办法
5229
查看次数

C#System.DirectoryServices.AccountManagement未知错误(0x80005000)UserPrincipal.IsMemberOf()

与以下MSDN主题中的问题类似:http://social.msdn.microsoft.com/Forums/en-MY/csharplanguage/thread/4c9fea6c-1d0a-4733-a8ac-e3b78d10e999

我正在尝试验证给定用户是否是组的成员,而我们现有的功能解决方案太慢(13-16秒),我正在尝试加快速度.我目前有:

public bool IsMemberAD(string userName, string groupName)
{
    var pc = new System.DirectoryServices.AccountManagement.PrincipalContext(System.DirectoryServices.AccountManagement.ContextType.Domain);
    var user = System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(pc, System.DirectoryServices.AccountManagement.IdentityType.SamAccountName,
                                                 userName.ToLower());
    var group = System.DirectoryServices.AccountManagement.GroupPrincipal.FindByIdentity(pc, groupName);

    if (group == null || user == null) return false;

    return user.IsMemberOf(group);    
}
Run Code Online (Sandbox Code Playgroud)

使其有趣的是,它仅在用户不在组中时才返回错误,而是在目标组内的组成员中返回错误.

例如:

Steve和Sam是两个用户,GroupParent和GroupChild是两个用户.Steve和GroupChild是GroupParent的成员.Sam是GroupChild的成员.如果我在(Steve,GroupParent)上调用此函数,则返回true.如果我打电话给它(Sam,GroupParent),我会收到一个错误.如果我打电话给它("fdkjskghkf",GroupParent)它返回false.

我将上面的一篇文章与类似问题联系起来,但他的解决方案对我没有用,我仍然遇到同样的错误.想法?

c# active-directory

4
推荐指数
1
解决办法
9336
查看次数

标签 统计

c# ×2

active-directory ×1

casting ×1

double ×1

int ×1