5

我正在编写代表系统用户对数据进行操作的 MS Dynamics CRM 2011 插件:以所需方式更改状态、填写管理信息等。

我正在使用以下代码OrganizationService代表以下代码运行SYSTEM

IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = factory.CreateOrganizationService(null);

在开发环境中,一切运行顺利,但是当我在暂存环境中部署程序集时,由于某种原因,这段代码不再工作了。系统已经选择了一个用户,让我们给他打电话John Doe并代表他执行操作。

我不明白为什么会发生这种情况:两个环境或多或少是相同的,唯一的区别是分期使用的 IFD。

是否可以SYSTEM在 MS CRM 的某处禁用用户?如果是,我在哪里可以找到此设置?我还应该检查什么来解决问题?

4

1 回答 1

3

创建 IOrganizationService 对象的方式是正确的

CreateOrganizationService 函数上的参数“null”表示将为 SYSTEM 帐户创建服务。检索和创建将由 SYSTEM 帐户完成。无需进一步模仿。

有关详细信息,请参阅MSDN

插件在两种环境中的注册方式是否相同?在 PluginRegistrationTool 中可以选择运行插件的不同用户。你在那里选择了什么?

您不能禁用系统用户,该用户默认禁用。系统进程将使用该帐户。

于 2013-11-07T18:53:08.790 回答