从REST客户端测量HTTP响应时间

时间:2015-02-17 17:06:04

标签: c# .net rest http

我正在尝试创建一个REST客户端来衡量HTTP请求执行所需的时间,即测量客户端请求与服务器到达客户端后的响应之间的时间。还有其他更简单的方法来找到这个像小提琴等,但无论如何我都需要这个。我正在关注此处提供的Microsoft示例:

https://msdn.microsoft.com/en-us/library/debx8sh9%28v=vs.110%29.aspx

我应该记下回复的时间吗?

// Send the request:

        DateTime T = System.DateTime.UtcNow; //--> Note the initial Time

        HttpWebResponse response = (HttpWebResponse) req.GetResponse();

        TimeSpan TT = System.DateTime.UtcNow - T; //--> Note the Time Difference

或者我应该在读取响应流后计算时间:

     DateTime T = System.DateTime.UtcNow;//--> Note the initial Time

                HttpWebResponse response = (HttpWebResponse) req.GetResponse();
                // Get the stream containing content returned by the server.
                dataStream = response.GetResponseStream();
                // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader(dataStream);
        // Read the content.
        string responseFromServer = reader.ReadToEnd();                
TimeSpan TT = System.DateTime.UtcNow - T;//--> Note the Time Difference

我只是不确定向服务器发出请求的确切行,并且客户端可以使用服务器的响应。

1 个答案:

答案 0 :(得分:1)

根据msdn documentationGetResponse()会将请求发送到服务器并检索响应。

如果您只是对通话计时感兴趣,那么第一个选项将是您最好的选择。