如何在不被客户端注意的情况下静默取消wcf请求

时间:2014-10-14 12:48:41

标签: wcf abort silent cancellation webhttpbinding

wcf / web 客户端是否有办法静音取消处理wcf请求而不被人注意

我的网络服务器是使用 WCF WebHttpBinding 开发的,并收听80端口。

我的意思是让客户等待直到超时,但服务器已取消请求向网络客户提供任何回复

最近我在互联网上部署了一个wcf网络服务器。但有一天,我意识到有人正在尝试扫描我的管理网页,例如login.php,admin_login.php,这在我的网站中并不存在,并且耗费了大量的CPU使用费。 由于请求来自具有不同端口的不同IP地址,因此很难阻止这些请求。 解决此问题的唯一方法是通过静默取消请求处理来减慢扫描速度,而不会注意到Web客户端。

1 个答案:

答案 0 :(得分:0)

一个想法是在服务器中实现custom encoder。如果它在响应中标识它将要发送一些预先定义的标题,那么它就不会发送它。

Anotehr的想法是进行一个名为DoNothing()的虚拟操作。此操作应标记为OneWay。实现operation selector。在selctor中实现一些逻辑来确定你是应该委托给实际操作还是虚拟化。

这两个想法都未经过测试,但这是一个有趣的问题,祝你好运!