【问题标题】:Trigger plugin event on entity save在实体保存时触发插件事件
【发布时间】:2013-12-06 16:02:45
【问题描述】:

在 Dynamics CRM 2011 中,我有一个实体(报价单)。

我的问题,在表单保存期间不可能触发事件以完成某些操作。 (处理新实体“创建”,但对现有实体“更新”不起作用)

(即:根据计算发送电子邮件)。

我尝试了所有类型的“消息”和“管道阶段”,但没有触发任何内容。

对我有帮助的想法?

编辑:

我抛出一个异常来知道是否被触发,像这样

  protected void ExecutePreDevisUpdate(LocalPluginContext localContext)
    {
        if (localContext == null)
        {
            throw new ArgumentNullException("localContext");
        }
        throw new Exception("prédevis");
        // TODO: Implement your custom Plug-in business logic.
    }

【问题讨论】:

  • 您是否使用过\sdk\bin\PluginRegistrationTool.Exe 来确保您的插件已正确注册。我不相信开发者工具包的任何东西,我个人的建议是转储它。
  • 你能发布你的插件的完整代码吗?该方法与 IPlugin 所需的方法不匹配,因此必须有更多。
  • @mbreton 仅供参考,但根据您发送的电子邮件,您也许可以使用工作流

标签: c# plugins dynamics-crm-2011 crm


【解决方案1】:

您是否尝试过附加到服务器上的 w3wp.exe 服务并在执行方法的开头放置一个断点?

您需要在您的服务器上安装远程调试器。

【讨论】:

    【解决方案2】:

    就像@Nicknow 所说,您应该下载 crm 2011 SDK 并使用 pluginregistrationtool.exe。如果有帮助,您不必在 crm 服务器上运行它。

    话虽如此,没有源代码或错误消息,我会假设插件的 FilteringAttributes 设置不正确。

    当您注册要更新的插件时,您需要指定它必须在其上运行的要更新的实体字段。插件仅在这些字段更新时运行。

    您可以通过多种方式查看这些配置设置,但插件注册工具是肯定的。这是 msdn 中的演练:http://msdn.microsoft.com/en-us/library/gg309580.aspx

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多