【问题标题】:How can I enumerate all currently executing WCF operations?如何枚举所有当前正在执行的 WCF 操作?
【发布时间】:2012-07-03 05:57:36
【问题描述】:

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

【问题讨论】:

  • 您是否考虑过编写自定义跟踪监听器并监听所有有趣的事件(一旦启用跟踪msdn.microsoft.com/en-us/library/ms733025.aspx)?
  • 我创建了一个 IDispatchMessageInspector。它的 AfterReceiveRequest 和 BeforeSendReply 方法维护一个带有当前执行请求元数据的 ConcurrentDictionary。当 WCF 已经拥有此数据(在 1 个或多个对象中)时,在每个操作的开始/结束时注入同步点似乎是错误的。
  • 如果您是在代码中开始执行的人,为什么不在某处留下一个标志以表明 wcf 操作正在运行?

标签: wcf .net-4.0


【解决方案1】:

Read this 文章,是否有库可以在 WCF 中排队并最终取消异步操作。它对您的情况很有用。

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

【讨论】:

    猜你喜欢
    • 2021-02-04
    • 2017-08-01
    • 2019-05-31
    • 1970-01-01
    • 2018-08-30
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多