本主题适用于 Windows Workflow Foundation 4。
此示例演示如何通过创建自定义跟踪参与者来扩展 Windows Workflow Foundation (WF) 中的跟踪。跟踪参与者是一些 .NET Framework 类,这些类将接收从运行时发出的跟踪记录。可以创建一个跟踪参与者以将跟踪事件传输给方案所需的任何目标。例如,ETW(Windows 事件跟踪)跟踪参与者将作为 .NET Framework 的一部分提供。此示例中的跟踪参与者以 XML 格式将记录写入文本文件。
示例详细信息
若要优化跟踪参与者的有用性和可靠性,则必须完成一些附加步骤以将跟踪参与者连接到运行时。下表描述此示例中用于创建遵循最佳实践的跟踪参与者的类。
| 类 | 说明 |
|---|---|
|
BehaviorExtensionElement 用于定义用来配置文本文件跟踪参与者的配置节。这将允许用户使用标准 .NET Framework 配置文件来指定日志文件的目标。 |
|
WCF 中的行为允许用户将扩展注入运行时。当服务启动时,此行为会将跟踪参与者添加到服务中。 |
|
一个跟踪参与者,它在运行时接收跟踪参与者并以 XML 的形式将这些参与者存储在日志文件中。 |
行为扩展元素配置
若要利用先前使用 .NET Framework 配置文件描述的行为扩展元素,需要再执行一个步骤。必须将下面的配置置于要使用扩展的配置文件中。
<system.serviceModel>
<extensions>
<behaviorExtensions>
<add name="textFileTracking" type="Microsoft.Samples.TextFileTracking.TextFileTrackingExtensionElement, WFStockPriceApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</behaviorExtensions>
</extensions>
…
</system.serviceModel>
注意: |
|---|
| 有关行为扩展元素配置的完整示例用法,请参见示例中的 Web.config 文件。 |
自定义跟踪记录
GetStockPrices.cs 文件演示如何从 CodeActivity 中创建自定义跟踪记录。在运行示例时,请查找该记录。
使用此示例
使用 Visual Studio 2010 打开 WFStockPriceApplication.sln 解决方案文件。
若要生成解决方案,请按 F6。
若要运行解决方案,请按 Ctrl+F5。
浏览器窗口将打开并显示应用程序的目录列表。
在浏览器中,单击 StockPriceService.xamlx。
浏览器将显示**“StockPriceService”**页,其中包含本地服务 wsdl 地址。复制此地址。
本地服务 wsdl 地址的示例为 https://localhost:53797/StockPriceService.xamlx?wsdl。
通过使用 Windows 资源管理器,转到 Visual Studio 2010 文件夹(默认安装文件夹为 %SystemDrive%\Program Files\Microsoft Visual Studio 10.0)。然后找到 Common7\IDE\ 子文件夹。
双击 WcfTestClient.exe 文件以启动 WCF 测试客户端。
在 WCF 测试客户端中,从**“文件”菜单中选择“添加服务…”**。
将刚刚复制的 URL 粘贴到文本框中。
单击**“确定”**关闭对话框。
使用 WCF 测试客户端来测试服务。
在 WCF 测试客户端中,双击**“IStockPriceService”节点下的“GetStockPrice()”**。
**“GetStockPrice()”**方法将显示在右窗格中(带有一个参数)。
键入 Contoso 作为该参数的值。
单击**“调用”**。
查看位于 %APPDATA%\trackingRecords.log 处的应用程序数据目录中的日志文件中的跟踪事件。
注意:%APPDATA% 是一个环境变量,它在 Windows Vista、Windows Server 2008 或 Windows Server 2008 中解析为 %SystemDrive%\Users\<username>\AppData\Roaming。
注意: |
|---|
您的计算机上可能已安装这些示例。在继续操作之前,请先检查以下(默认)目录:
<安装驱动器>:\WF_WCF_Samples
如果此目录不存在,请转到 .NET Framework 4 的 Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 示例(可能为英文网页),下载所有 Windows Communication Foundation (WCF) 和 WF 示例。此示例位于以下目录:
<安装驱动器>:\WF_WCF_Samples\WF\Basic\Tracking\TextFileTracking
|
注意: