如何从MS CRM 2011中的WhoAmIRequest获取用户角色详细信息

时间:2016-05-17 16:34:43

标签: dynamics-crm-2011

我试图找出用户是否在var userid = ((WhoAmIResponse)_orgservice.Execute(new WhoAmIRequest())).UserId; 之前处理了给定的案例。

我正在尝试使用单元测试来获取用户ID,如下所示

var systemuser = _service.Retrieve(
    "systemuser", 
    user.Id,
    new ColumnSet(true)
);

然后尝试按如下方式获取用户详细信息:

var id = new Guid("2974f072-e02a-45e8-b060-4811f24283c0");
SystemUser user = new SystemUser
{
    FirstName = "FirstName_Test",
    LastName = "LastName_Test",
    Id = id
};

return user;

我的用户存根如下:

UserId

运行测试时,我看到的是deleteUser,而不是我设置的Users。我不知道这里发生了什么。任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

您是否尝试FakeXrmEasy进行单元测试?不需要存根或模拟任何东西......它已经为你完成了。

这对于查询来说特别方便,因为它们可能有许多不同的连接,过滤器等等,这很难使用scracth自己的模拟进行复制。示例here

对于上面的示例,还有WhoAmIRequest的实现,它将返回您在上下文的CallerId属性中设置的用户。

Here's一个例子。