我有一个 WCF 网络服务,实际上有许多网络服务,都使用 net.tcp 并通过 WAS 托管在 IIS 中。多个客户端正在调用这些服务,所有这些都是已知的,但无法控制(也就是说,我无法更改他们的代码,因此我也无法更改服务)。其中一些客户端对服务不是很好,并导致很多错误,我想找出哪些是有问题的。我无法查看传递的凭据,因为它们不使用身份验证,我无法使用 ip/port,因为它们都来自同一个地方。我现在的挑战是找到某种方法来区分这些客户端,例如通过查看调用程序集或远程系统上识别客户端的东西。任何人都知道任何此类信息?我可以访问 IIS 日志、事件查看器、
问问题
3520 次
3 回答
2
查看 WCF 内置的日志记录和跟踪机制:
当您搜索“WCF、跟踪、日志记录”时,还有更多。WCF 中内置的支持非常广泛——您可以轻松地记录消息、查看它们的来源、分析它们——并且您可以根据需要打开或关闭它。
于 2010-01-11T21:57:51.463 回答
1
您可以编写一些自定义行为来检查您的服务收到的消息;可以在此处找到示例:编写 WCF 消息检查器和简单的 WCF 服务行为:通过调试输出检查消息
于 2010-01-11T21:24:34.310 回答
0
看来您的问题不在于日志记录机制;它是找到一种方法来区分客户。
如果您无法控制客户端的代码,您至少可以更改他们用于端点的 URL 吗?如果是这样,那么我建议您在多个端点地址公开服务,然后让每个客户端使用唯一的地址。然后该地址将作为客户端的代理。
于 2010-01-11T22:12:37.770 回答