gpt4 book ai didi

c# - Dynamics CRM - 自定义工作流 - 读取输入参数会阻止插件运行吗?

转载 作者:行者123 更新时间:2023-11-30 17:36:05 24 4
gpt4 key购买 nike

我有一个自定义工作流事件,它接受一个名为“InputTest”的输入参数。这只是一个字符串。

[Input("InputTest")]
[RequiredArgument]
public InArgument<string> TargetEntity { get; set; }

在我的自定义工作流事件中,我想阅读它,所以我执行以下操作:

string targetEntityValue = TargetEntity.Get(executionContext);

一旦添加该行,我的工作流事件将不再执行。当我运行它时,状态将显示“成功”,但工作流中的任何内容都不会运行,甚至工作流开头的跟踪表明工作流已输入。诊断日志中没有任何内容。当我运行 SQL Profiler 时,只有几条语句添加到 AsyncBase 表中,表明工作流已运行并立即完成。

如果我删除上面的行,工作流运行正常。我想知道我在这里做错了什么?为什么读取输入参数会导致 CRM 在工作流中不执行任何操作?

这几乎就像代码没有进入其 main 方法一样。

[Input("Entity")]
[RequiredArgument]
public InArgument<string> TargetEntity { get; set; }

protected override void Execute(CodeActivityContext executionContext)
{
// Create the tracing service
ITracingService tracingService = executionContext.GetExtension<ITracingService>();

if (tracingService == null)
{
throw new InvalidPluginExecutionException("Failed to retrieve tracing service.");
}

tracingService.Trace("Entered TestWorkflow.Execute(), Activity Instance Id: {0}, Workflow Instance Id: {1}",
executionContext.ActivityInstanceId,
executionContext.WorkflowInstanceId);

string targetEntityValue = TargetEntity.Get<string>(executionContext);
}

最佳答案

好吧,这很奇怪。最后我绝望了,所以我用新的程序集名称创建了一个新项目,重新添加代码并部署,现在它工作正常。

所以..我认为:

  • 这是我的第一个自定义工作流插件,所以也许我以某种方式错误地设置了原始项目,并且出于某种原因它没有进入其主要方法。

  • 在 CRM 服务器上部署原始插件存在某种问题。

我不确定为什么 CRM 会运行插件并返回“成功”状态而不运行主要方法。

关于c# - Dynamics CRM - 自定义工作流 - 读取输入参数会阻止插件运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40227843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com