将Miniprofiler集成到控制台WCF自主机

本文关键字:WCF 主机 控制台 Miniprofiler 集成 | 更新日期: 2023-09-27 18:20:44

如何将Miniprofiler集成到托管WCF服务的控制台自主机应用程序。如何了解已执行的数据库命中率以及使用Miniprofiler通过selfhost执行的查询?

主机数据库层是通过WCF访问的实体框架。

将Miniprofiler集成到控制台WCF自主机

一般情况下(不是WCF自主机),关键是通过MiniProfiler.Settings.ProfilerProvider提供探查器提供程序。这是必须能够从环境状态解析探查器的东西。默认情况下,它选择WebRequestProfilerProvider,但这显然不适用。要做到这一点,最简单的方法是对BaseProfilerProvider进行子类化,它只有几个方法要实现,您可以查看WebProfilerProvider来查看示例,特别是在Stop中发生的情况,在这种情况下,结果不会被丢弃。假设您面向WCF的代码将使用OperationContext.Current作为环境状态。

不过,下一个问题是:你将如何处理结果?将它们记录到控制台?是否将它们附加到WCF消息中?大多数事情都是可能的,但需要以不同的方式实施。系统本身只提供基于web的UI,但您可以通过时序数据进行扩展,以执行任何需要的操作。

你可能还想看看:

  • http://nuget.org/packages/MiniProfiler.WCF/
  • https://github.com/SamSaffron/MiniProfiler/blob/master/StackExchange.Profiling.Wcf/WcfRequestProfilerProvider.cs
  • https://github.com/SamSaffron/MiniProfiler/tree/master/Sample.Wcf