【问题标题】:Tracking profile Implementation Visibility attribute has no impact?Tracking profile Implementation Visibility 属性有没有影响?
【发布时间】:2014-01-09 15:57:01
【问题描述】:

我们正在创建相当大的工作流服务,因此,为了让事情更干净,我们决定将它们“拆分”为子活动。

这个,就其本身而言,效果很好。

但是,我们注意到不再跟踪事件 - 仅跟踪来自实际工作流的事件,而忽略部分活动中的事件(除非发生异常并崩溃)。

我已阅读 here,发现我缺少 implementationVisibility 属性 - 默认情况下,它设置为工作流的根范围。

所以我创建了一个自定义跟踪配置文件,定义如下:

<trackingProfile name="CRM Game HealthMonitoring Tracking Profile" implementationVisibility="All">
  <workflow activityDefinitionId="*">
    <workflowInstanceQueries>
      <workflowInstanceQuery>
        <states>
          <state name="Started" />
          <state name="UnhandledException" />
          <state name="Persisted" />
          <state name="Unsuspended" />
          <state name="Aborted" />
          <state name="Canceled" />
          <state name="Completed" />
          <state name="Terminated" />
        </states>
      </workflowInstanceQuery>
    </workflowInstanceQueries>
    <activityStateQueries>
      <activityStateQuery activityName="*">
        <states>
          <state name="Closed" />
        </states>
      </activityStateQuery>
    </activityStateQueries>
    <customTrackingQueries>
      <customTrackingQuery name="*" activityName="*" />
    </customTrackingQueries>
    <faultPropagationQueries>
      <faultPropagationQuery faultSourceActivityName="*" faultHandlerActivityName="*" />
    </faultPropagationQueries>
    <bookmarkResumptionQueries>
      <bookmarkResumptionQuery name="*" />
    </bookmarkResumptionQueries>
  </workflow>
</trackingProfile>

然后我打开了特定工作流的 AppFabric 配置,并将此配置文件添加到配置中。

遗憾的是,最终结果是跟踪工作与以前完全一样,就好像根本没有使用跟踪配置文件一样。

编辑:正在使用新的跟踪配置文件,因为现在跟踪书签恢复事件。但是,仍然只跟踪工作流根活动的事件。

我做错了什么?

PS。有没有办法为所有工作流程设置默认跟踪配置文件?

编辑 2: 根据this 链接,&lt;trackingProfile&gt; 定义中根本没有implementationVisibility 参数...这是怎么回事?

【问题讨论】:

  • 您是如何拆分这些活动的?它们都是设计活动还是编码活动?
  • @Jota 拆分是通过将原始工作流的部分复制粘贴到设计的活动中来完成的。由于以前确实存在编码活动,因此它们现在已被复制到设计为“部件”的部件中。
  • 好的。您可能没有在编码活动内部向元数据添加一些实现活动。 “就好像根本没有使用跟踪配置文件一样”。是不是可能根本没有真正使用配置?你能展示更多的配置吗?你看过this了吗?
  • @Jota 请注意我对问题所做的编辑。我所说的“好像没有使用跟踪配置文件”的意思是我认为没有使用 MY 跟踪配置文件。在全球范围内,跟踪正在发挥作用,正如我所写的,它正在跟踪主根工作流程中发生的事情。
  • 这很奇怪。我自己无法重现它,我已经尝试了所有可能的方案:拆分的 XAML 活动、拆分的编码活动、两者的混合等等。我已经没有想法了。这可能是 TrackingParticipant 本身的问题。例如,用它来代替“*”,准确地指定活动名称,看看会发生什么。

标签: workflow-foundation-4


【解决方案1】:

虽然我不知道为什么会失败,但我发现通过 IIS 管理屏幕加载和设置跟踪配置文件不起作用。

当我将整个配置放入 web.config 文件(跟踪配置文件定义并将其选择为我们工作流的默​​认跟踪配置文件)时,它开始按预期工作。

如果有人感兴趣,这里是决赛web.config 的重要部分。 :)

  <system.serviceModel>
    <tracking>
      <profiles>
        <trackingProfile name="My Tracking Profile" implementationVisibility="All">
          <workflow activityDefinitionId="*">
            <workflowInstanceQueries>
              <workflowInstanceQuery>
                <states>
                  <state name="Started" />
                  <state name="UnhandledException" />
                  <state name="Persisted" />
                  <state name="Unsuspended" />
                  <state name="Aborted" />
                  <state name="Canceled" />
                  <state name="Completed" />
                  <state name="Terminated" />
                </states>
              </workflowInstanceQuery>
            </workflowInstanceQueries>
            <activityStateQueries>
              <activityStateQuery activityName="*">
                <states>
                  <state name="Closed" />
                </states>
              </activityStateQuery>
            </activityStateQueries>
            <customTrackingQueries>
              <customTrackingQuery name="*" activityName="*" />
            </customTrackingQueries>
            <faultPropagationQueries>
              <faultPropagationQuery faultSourceActivityName="*" faultHandlerActivityName="*" />
            </faultPropagationQueries>
          </workflow>
        </trackingProfile>
      </profiles>
    </tracking>
    <bindings />
    <client />
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <etwTracking profileName="My Tracking Profile"/>
          (...)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 2011-11-25
    • 2013-05-08
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多