WCF - 客户端的命中数

时间:2016-06-02 14:44:06

标签: wcf

如何计算WCF中每个客户端的点击次数。 根据点击次数,我需要为每个客户收取金额。方法请。

下面我需要使用一些东西,但我不确定。

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
 public class serviceclass : Iservice
 {
    // some code…
 }

3 个答案:

答案 0 :(得分:0)

我假设您的Web服务托管在IIS等Web环境中。

然后,您可以使用Global.asax文件中的Application_BeginRequest

如果不可能,你也可以开发一个HttpModule。

还可以使用IDispatchMessageInspector

https://stackoverflow.com/a/2766957/755977

答案 1 :(得分:0)

只需将每次调用记录到数据库即可。包括方法名称,日期和时间;时间,用户名和IP地址来自。

然后,您可以分析此数据以查看每位用户收取多少费用。

答案 2 :(得分:0)

您可以将WCF分析跟踪与ETW一起使用。 在此处查看生成的事件列表:https://msdn.microsoft.com/en-us/library/ee473461(v=vs.110).aspx 可能满足您需求的是OperationInvoked事件。 您可以使用PerfView等第三方工具分析这些事件,也可以创建自己的工具(使用Microsoft TraceEvent Library)。