将TCP记录器添加到现有Windows服务而无需重建

时间:2019-03-07 15:55:33

标签: c# tcplistener

我有一个在生产环境中运行的Windows服务,需要对其执行一些诊断工作。该服务侦听指定的端口,接收并处理TCP请求,并发出TCP响应。

我想做的是拦截此请求和响应,以便将其记录到数据库中。但是,我无法重新编译代码,因此需要对服务器进行尽可能少的更改。

我似乎回想起过去的一个案例,在该实例中,同事能够创建一个拦截器DLL并将其拖放到WCF或Web API服务的根文件夹中,以完成类似的任务。通过此TCP服务是否可以完成类似的工作?

1 个答案:

答案 0 :(得分:1)

只要该应用使用System.Net.Socket,您就可以通过app.config和Microsoft here的文档来使用内置的.net网络跟踪。

将源System.Net.SocketSystem.Netmaxdatasize一起添加将导致它记录每个发送和接收的前1024个字节。