2012-07-02 35 views
5

我想获取/创建所有当前正在执行的操作的集合并选择元数据(可从OperationContext获得)。如何枚举当前正在执行的所有WCF操作?

+0

您是否考虑编写自定义跟踪侦听器并侦听所有感兴趣的事件(一旦启用跟踪http://msdn.microsoft.com/en-us/library/ms733025.aspx)? –

+0

我创建了一个IDispatchMessageInspector。其AfterReceiveRequest和BeforeSendReply方法使用当前正在执行的请求元数据维护一个ConcurrentDictionary。在WCF已经拥有这些数据(在1个或多个对象中)的情况下,在每个操作的开始/结束处注入一个同步点似乎是错误的。 – chilltemp

+0

如果你是在代码*中开始执行*的人,为什么不在某个地方留下一个标志来显示wcf操作正在运行? –

回答

0

Read this文章,是否有库排队和最终取消WCF异步操作。它对你的情况可能有用。

如果您打算构建监视工具您可以在Windows Server上使用appfabric框架来托管WCF服务。 Appfabric提供了一个IIS扩展,可以将其配置为跟踪和记录WCF对SQL Server数据库的调用,并在IIS管理控制台中监控仪表板。更多信息herehere

相关问题