3

七个月前,我一直在使用 CRM。我仍然不知道是什么,使用什么以及为什么使用这些变量。

public void Execute(IServiceProvider serviceProvider)
{

     Microsoft.Xrm.Sdk.IPluginExecutionContext context = (Microsoft.Xrm.Sdk.IPluginExecutionContext)
     serviceProvider.GetService(typeof(Microsoft.Xrm.Sdk.IPluginExecutionContext));

     IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory) serviceProvider.GetService(typeof(IOrganizationServiceFactory));

     IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
}

我一直在寻找答案,但没有任何运气。

谢谢

4

2 回答 2

1

IPluginExectionContext:

  1. 定义在运行时传递给插件的上下文信息。包含描述插件在其中执行的运行时环境的信息、与执行管道相关的信息以及实体业务信息。
  2. 执行上下文在运行时通过 Execute 方法的 System.IServiceProvider 参数传递给插件。您可以从服务提供者处获取上下文,如以下插件代码所示。// 从服务提供者那里获取执行上下文。

IPluginExecutionContext 上下文 = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));

IOrganizationService 接口: 为组织提供对元数据和数据的编程访问。

于 2014-04-28T07:22:55.587 回答
1

MSDN 提供了一组很好的文章,从了解数据上下文开始。

简而言之,这里是:

  1. IPluginExecutionContext是将所有上下文信息带到您的代码的地方。InputParametersOutputParameters成员包含例如插件被触发的记录、前后图像、处理的消息(实际数据取决于您注册插件的方式:pre VS post、确切的消息、在线或离线.. . )
  2. IOrganizationService对象允许您查询组织服务。最常见的使用场景是 CRUD 操作(创建、检索、更新、删除:当心死锁)。
于 2013-04-30T15:05:04.947 回答