通过工作流基础4.0中的代码注册自定义跟踪参与者

2024-03-10

我在尝试在工作流基础 4.0 中附加自定义跟踪参与者时遇到问题。我有一个继承自 TrackingParticipant 的类,但除了通过大量混乱的 app.config 条目(如下面的 SDK 示例(在 system.servicemodel 元素中)所示)之外,我看不到将其附加到我的 WorkflowServiceHost 的任何其他方法。当我只想要一个简单的自定义跟踪参与者来监听我的 CustomTrackingRecord.Data.Add(key, value) 调用时,此选项似乎需要大量额外的开销和创建类。

public class CustomTracking : TrackingParticipant
{
    protected override void Track(TrackingRecord record, TimeSpan timeout)
    {
        CustomTrackingRecord innerRecord = (CustomTrackingRecord)record;
        var workflowInstanceId = innerRecord.InstanceId;

        Console.WriteLine("Track called for workflow '{0}'", workflowInstanceId);
    }
}

如何通过代码(而不是如下配置)将上述自定义跟踪参与者注册到工作流服务主机实例?

  <extensions>
    <behaviorExtensions>
      <add name="historyFileTracking" type="Microsoft.Samples.HistoryFileTrackingExtensionElement, HiringRequestProcessDefinition, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />     
    </behaviorExtensions>
  </extensions>
  <behaviors>
    <serviceBehaviors>
      <behavior>
        <historyFileTracking profileName="RequestStoryTracking" path="..\..\..\Data\RequestHistory\"/>
      </behavior>
    </serviceBehaviors>
  </behaviors>

  <tracking>
    <profiles>
      <trackingProfile name="RequestStoryTracking">
        <workflow activityDefinitionId="*">
          <customTrackingQueries>
            <customTrackingQuery name="*" activityName="*" />
          </customTrackingQueries>
        </workflow>
      </trackingProfile>
    </profiles>
  </tracking>

只需将其作为工作流扩展添加到 WorkflowServiceHost 即可。

var host = new WorkflowServiceHost(....);
var tracker = new CustomTracking();
host.WorkflowExtensions.Add(tracker);
host.Open();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过工作流基础4.0中的代码注册自定义跟踪参与者 的相关文章

  • git pull 和 git pull 有什么区别?

    我今天偶然发现了一些奇怪的事情 我请一位暑期工作的同事帮我为我的代码设置一个新的远程 git 存储库 但我对他所做的和我想做的有很多困惑 我要求他发送他的配置 以便能够查看他的遥控器的路径 但发现他没有遥控器 当我问他这个问题时 他这样解释
  • Windows 工作流程 4.0 InstancePersistenceCommand 错误

    我有一个 wcf 工作流程 其中有三个按顺序排列的接收活动 IE 1 接收申请 2 经理1批准 3 最终经理批准 我的问题是 我能够使用客户端应用程序中的工作流程并调用第一个 接收应用程序活动 但是当我尝试调用第二个 manager1 批准
  • 在 Sharepoint Designer 的工作流编辑器中,如何获取工作流发起者用户名?

    在 Sharepoint 设计器的工作流编辑器中 我希望检索工作流发起者的用户名 名称 即谁启动或触发了工作流 使用第 3 方产品 例如 Nintex Workflow 2007 我将在其中使用类似于 Common Initiator 但我
  • 如何将候选用户列表传递给 alfresco 中的 activiti 工作流任务?

    我希望能够传递作为任务候选者的用户列表 用户是从数据列表中检索的 不能作为一个组使用 Activiti candidateUsers 似乎是正确的方法 假设已获取用户并将其设置在变量 ipw reviwers 中
  • 试图找出 Windows Workflow 4.5 问题的根源

    我得到的错误是 工作流应用程序已中止 因为加载或 LoadRunnableInstance 操作引发异常 创建一个新的 WorkflowApplication 对象尝试加载另一个工作流实例 我正在使用 workflowapplication
  • Git“实时服务器”最佳实践

    我和我的合作伙伴一直在尝试从影响公众可查看的文件的存储库中推送和拉取的想法 而不是将存储库存储在隐藏位置 并在我们认为文件可以使用时仅通过 FTP 传输文件 虽然能够直接推送到 实时站点 将非常方便 但我想知道这会产生什么负面影响 如果有的
  • 加载在 .NET 4.0 中存储为 XAML 的工作流程

    加载之前创建并存储为 XAML 的 NET 4 0 Beta2 工作流的语法是什么 WorkflowElement 和 Workflow Xaml Services 类不再存在 我正在尝试做这样的事情 在 Beta 1 中有效 Workfl
  • 是否可以只用一名协调员启动一些 oozie 工作流程?

    我不确定是否可以使用这个好工具来实现我想要的目的 我有很多工作流程 这些工作流程可以是依赖的 也可以是非依赖的 示例 workflow1 工作流程 xml job properties workflow2 工作流程 xml job prop
  • 是否可以将提交相互绑定,使它们在二等分、樱桃选择、恢复等方面成为原子的?

    考虑错误修复的情况 它会导致预期输出发生微小变化 从而迫使测试套件发生微小变化 在同一个提交中进行这两项更改非常方便 因为它使审阅者可以清楚地了解输出中的更改内容 另一方面 有时您可能只想查看与源的差异 或与预期输出的差异 如果提交是单独的
  • SharePoint Designer 工作流程 - 提示和资源?

    我正在努力修改一些现有的 SPD WF 并努力解决一些概念 包括为什么 2 个看起来相似的 WF 不会产生相同的输出 你们中是否有人使用过 SharePoint Designer 工作流并知道任何好的资源 比 MSDN 介绍更详细 或有关此
  • NetSuite pdf 模板中基于货币的发票金额总和

    我想要 netsuite 高级 pdf 模板中基于其货币的发票总和 我期待下面的结果 这与此非常相似post https stackoverflow com questions 44013395 does oracle netsuite a
  • JQuery 中的网络图/流程图[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将 Activiti 任务从旧流程迁移到新流程

    我有一个用于某些业务流程的 Activiti 项目 问题在于移民 现有流程有一些未完成的任务 我想通过添加新步骤来修改现有流程 现在 当我创建一个新任务时 这个新任务将根据更新的流程进行处理 而未完成的任务将按照旧流程进行处理 让我们看下面
  • 通过工作流基础4.0中的代码注册自定义跟踪参与者

    我在尝试在工作流基础 4 0 中附加自定义跟踪参与者时遇到问题 我有一个继承自 TrackingParticipant 的类 但除了通过大量混乱的 app config 条目 如下面的 SDK 示例 在 system servicemode
  • Plone 工作流程的圣杯

    我们正在实施 Plone CMS 作为 ISO9001 文档的存储库 ISO 要求一定量的日志记录 任何熟悉该标准的人都可能知道 为了灵活性 我们希望合并 不按特定顺序 新的内容类型 需要合并企业中可能出现的不同文档 版本控制 表明我们的文
  • SharePoint 列表项权限

    我想以编程方式实现它 以便用户只能看到列表中的特定项目 基本上 在创建项目时运行的工作流程中 我将执行一些操作并通知一些人有关此项目的信息 我还希望它更改项目的权限 以便只有特定用户 根据项目内容在运行时查找 才能读取该项目 有权访问该列表
  • 如何管理 Workflow Foundation 中的版本?

    当您有长时间运行的工作流并且持久性存储中可能同时有两个或三个版本并且必须能够访问所有版本时 如何管理 WF 中的工作流版本 我撰写了一系列 4 篇博客文章 涵盖了对长期运行的工作流程进行版本控制时需要注意的大部分内容 我倾向于避免的一件事是
  • SharePoint 计时器作业添加列表项,但不触发关联的工作流

    我有一个名为 会话 的列表 该列表有一个用于项目创建 修改的工作流程 当我使用 Web 部件以及手动添加项目时 工作流程会触发 我开发了一个每天运行的计时器作业 它将项目添加到 会话 列表中 当计时器作业将项目添加到列表时 工作流程不会触发
  • 如何处理无序拨打的“接听”电话?

    我有一个模拟销售漏斗的 WF4 服务 它的工作原理是从 注册 接收呼叫开始 之后 有 10 个类似的阶段 每个阶段包含 2 个接收 在当前阶段验证收到的数据之前 您无法前进到某个阶段 但我不确定的是 即使我的客户端应用程序不允许这样做 我怎
  • Windows Workflow Foundation 4 和 ASP.NET MVC

    我们正在评估 Windows Workflow Foundation 4 在基于 MVC 3 的 Web 应用程序中的使用 我们希望为不同的项目创建灵活的订单工作流程 有人知道有关此类应用程序的一般架构或实践实验室的详细信息吗 一些具体问题

随机推荐