【问题标题】:Measure HTTP Response Time from a REST Client从 REST 客户端测量 HTTP 响应时间
【发布时间】:2015-02-18 02:05:28
【问题描述】:

我正在尝试创建一个 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

我只是不确定向服务器发出请求以及来自服务器的响应对客户端可用的确切行。

【问题讨论】:

    标签: c# .net rest http


    【解决方案1】:

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

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

    【讨论】:

    • dataStream = response.GetResponseStream(); 我认为这里创建了一个底层网络流,因此造成了混乱。
    猜你喜欢
    • 2013-01-28
    • 2014-11-13
    • 2010-11-13
    • 2011-05-07
    • 2011-06-13
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 2013-07-14
    相关资源
    最近更新 更多