Crm 2011如何获取插件正在执行的stepid

bud*_*ead 2 plugins dynamics-crm dynamics-crm-2011

在crm 2011中,在插件的执行方法中,我如何知道正在执行的注册步骤的id?例如,我有两个步骤来预创建帐户。每一步执行方法将运行两次。我需要在执行方法中知道实际运行的步骤的stepid。我在上下文中找不到它。

更新:

我在这里更新是为了解释这个场景,因为在评论中我没有足够的字符。所以场景是:

我有一个自动编号实体的解决方案,使用户能够按照自己想要的方式格式化数字。

为此,我有一个实体(自动编号),他们在其中配置格式、实体和他们想要编号的字段。每次为自动编号实体创建记录时,它将在要编号的实体(例如帐户)的创建消息的预操作中动态创建和注册一个步骤。执行该步骤时,它将加载自动编号记录以了解如何对帐户字段进行编号。

创建的步骤必须链接到自动编号记录,因此自动编号实体具有用于存储步骤 ID 的属性。创建步骤时,在预先创建自动编号实体时填充此属性。当用户删除自动编号记录时,此链接属性允许取消注册该步骤,因为它确切地知道要取消注册哪个步骤。如果帐户注册了更多插件,它还允许用户设置执行该步骤的顺序。

我遇到的问题是当我想要为同一实体编号 2 个或更多属性时。在这种情况下,用户将创建(假设)自动编号​​实体的 2 条记录,以便对帐户的 2 个字段进行编号。在这种情况下,我将有 2 个步骤注册到该帐户。创建帐户时,一个步骤将为一个字段编号,另一步骤将为另一个字段编号。这就是为什么我需要知道正在执行的步骤的 id 才能加载正确的自动编号记录。

抱歉,我的解释很乏味,但这个场景有点复杂,我不确定我是否足够清楚,但如果您愿意,我会尽力说得更清楚。

Dar*_*wis 5

上可用的OwningExtension属性IPluginExecutionContext将返回EntityReference,其中SdkMessageProcessingingStep应提供您需要的所有信息。

您想通过为相同的消息和阶段注册相同的插件两次来实现什么目的?我正在努力想出一个有效的场景。