如何计算WCF中每个客户端的点击次数。 根据点击次数,我需要为每个客户收取金额。方法请。
下面我需要使用一些东西,但我不确定。
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class serviceclass : Iservice
{
// some code…
}
答案 0 :(得分:0)
我假设您的Web服务托管在IIS等Web环境中。
然后,您可以使用Global.asax文件中的Application_BeginRequest
。
如果不可能,你也可以开发一个HttpModule。
还可以使用IDispatchMessageInspector
:
答案 1 :(得分:0)
只需将每次调用记录到数据库即可。包括方法名称,日期和时间;时间,用户名和IP地址来自。
然后,您可以分析此数据以查看每位用户收取多少费用。
答案 2 :(得分:0)
您可以将WCF分析跟踪与ETW一起使用。 在此处查看生成的事件列表:https://msdn.microsoft.com/en-us/library/ee473461(v=vs.110).aspx 可能满足您需求的是OperationInvoked事件。 您可以使用PerfView等第三方工具分析这些事件,也可以创建自己的工具(使用Microsoft TraceEvent Library)。