我们有一个分布在各种客户端计算机上的应用程序,我们不希望它们再次访问服务器端点。他们正在使用WCF SOAP协议。我们不想改变我们的端点,因为它们会损害我们仍然想要工作的其他应用程序。此外,我无法更改我们想要阻止的应用程序的源代码,因为上帝知道有多少人正在使用它并找到它们并在那些机器上部署它将是痛苦的。似乎我要求不可能,但也许有人遇到了类似的问题并找到了解决方法。我在想,也许消息中有一个来自该特定应用程序的唯一数据,我们可以相应地检查和阻止。例如,我在WCF中启用了跟踪,这是我正在阅读的活动XML日志:
如您所见,有一个<Execution ProcessName/>
元素。它存储进程的名称(在本例中为.exe文件)。但是,从我正在阅读的内容来看,它属于trace元素,并没有真正被推送到服务器。如果消息中有类似的内容,那么我可以在服务器端读取它并阻止来自该进程的任何请求。据我所知,我们不会发送任何标识客户端流程的自定义数据。
有什么建议吗?