我有一个应用程序将大文件发布到供应商的API并获得响应。它是这样做的:
HttpWebRequest webRequest = BuildWebRequest(..., requestParams.Data, ...);
HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
我想测量仅响应本身的经过时间(不包括传输/发布大型multipart / form-data所需的时间)。
我没有看到任何HttpWebRequest方法或事件的组合,我可以将请求上传与响应下载分开。
有什么想法吗?
答案 0 :(得分:0)
除非您发送文件,否则请求时间将是微不足道的。
答案 1 :(得分:0)
您的呼叫代码无法告知从服务器发送响应的时间。您可以获得的最佳结果是响应中的第一个数据在响应流中可用。
答案 2 :(得分:0)
如果这仅用于测试,我会使用Fiddler来监控流量。它可以显示您想要的信息类型。
以下是使用fiddler:
捕获的快速Web服务调用的示例输出== TIMING INFO ============
ClientConnected: 15:41:07:2804
ClientDoneRequest: 15:41:07:6398
Gateway Determination: 0ms
DNS Lookup: 0ms
TCP/IP Connect: 0ms
ServerGotRequest: 15:41:07:6398
ServerBeginResponse: 15:41:07:7804
ServerDoneResponse: 15:41:07:7804
ClientBeginResponse: 15:41:07:7804
ClientDoneResponse: 15:41:07:7804
如果您从未使用过fiddler进行Web服务调用,请确保将以下内容添加到web.config中:
<system.net>
<defaultProxy>
<proxy proxyaddress="http://127.0.0.1:8888" />
</defaultProxy>
</system.net>