我们有一个在.net windows窗体中开发的遗留应用程序,它使用.net远程处理从数据库/服务器获取数据。所以当我打开winform桌面应用程序并尝试使用jmeter中的记录选项记录它时,那么它没有识别它并且没有记录任何电话。甚至可以使用jmeter或任何其他工具录制这样的电话吗?
答案 0 :(得分:0)
调查Microsoft .NET Remoting: A Technical Overview
HTTP频道
HTTP通道使用SOAP协议将消息传输到远程对象或从远程对象传输消息。所有消息都通过SOAP格式化程序传递,其中消息更改为XML并序列化,并将所需的SOAP标头添加到流中。也可以将HTTP通道配置为使用二进制格式化程序。然后使用HTTP协议将生成的数据流传输到目标URI。
TCP频道
TCP通道使用二进制格式化程序将所有消息序列化为二进制流,并使用TCP协议将流传输到目标URI。也可以将TCP通道配置为SOAP格式化程序。
JMeter的HTTP(S) Test Script Recorder能够记录仅 HTTP或HTTPS流量,如果是这种情况 - 您需要将应用程序配置为使用JMeter作为代理人。如果您的应用程序没有代理设置 - 很可能它会尊重系统范围的代理设置。有关配置和故障排除说明,请参阅How to Run Performance Tests of Desktop Applications Using JMeter指南。
如果您的应用使用TCP Channel
- 您应该能够使用Wireshark等第三方工具进行录制,并使用TCP Sampler进行重播。或者,您可以考虑Grinder附带的TCPProxy工具,它在理论上应该能够捕获较低级别的请求。