WCF服务无限期重试邮件

时间:2016-09-30 05:12:38

标签: c# wcf

背景:

我在生产中看到了一种奇怪的情况。我们有一个WCF服务,它有两个公开的端点(HTTP和https)。 HTTP端点使用Wshttpbinding,其中Security = Message和Authentication as Windows。 Https端点使用Wshttpbinding,其中Security = Transport和Authentication as Certificates。该服务由3个客户使用。其中两个使用https端点进行通信,一个客户端(Windows服务)使用HTTP端点。

问题:

WCF服务正在持续处理未提及的3个客户端中的任何一个发送的消息。我试图阻止所有3个客户端,仍然是流经该服务的数据。我很难弄清楚服务正在处理这些消息的位置。是否有可能WCF服务缓存任何以前未处理的消息?我不知道最近会发生什么。

以下是我尝试的内容:

a)多次重启应用程序池,但这并没有解决问题。

b)停止并重新启动所有3个不同组合的客户端只是为了过滤掉其中一个客户端可以负责这些消息。我遇到了所有3个客户端都被关闭但仍然看到服务处理消息的情况。

c)我既没有重新启动生产服务器也没有重新启动IIS,因为它位于生产服务器上,我很担心这样做。但是,如果解决问题并且有任何技术原因可以帮助重新启动,我可以试一试。

我已经完成了所有想法,如果我能尝试任何输入,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用Wireshark http://wireshark.org/download.html来识别哪个主机正在向运行Web服务的主机的端口80发送数据包...我很确定在持续发送请求的3个客户端之一中仍然会运行某些内容。 ..

你也可以尝试这个来识别哪个客户端直接在你的WCF服务Get client IP address in a WCF Service hosted using HTTPS 443 bindings的代码中发送了请求...并将其记录到日志文件中,例如