【问题标题】:Slow Http Get Requests With C#使用 C# 的慢速 Http 获取请求
【发布时间】:2014-10-18 18:54:46
【问题描述】:

我目前正在运行一个 python 服务器来处理许多不同类型的请求,并且我正在尝试使用 C# 来执行此操作。我的代码如下:

try
{
   ServicePointManager.DefaultConnectionLimit = 10;
   System.Net.ServicePointManager.Expect100Continue = false;
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
   request.Proxy = null;
   request.Method = "GET";

   using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
   {
      response.Close();
   }

}
catch (WebException e)
{
   Console.WriteLine(e);
}

我的第一个获取请求几乎是即时的,但在那之后,一个请求通过的时间几乎是 30 秒到 1 分钟。我在网上到处搜索并尝试更改设置以使其运行得更快,但似乎无法正常工作。是否还有其他设置可以更改以加快速度?

【问题讨论】:

  • HttpClient 更容易使用,你应该试试。

标签: c# http get


【解决方案1】:

通过使用我的通灵调试技能,我猜您的服务器当时只接受一个连接。您没有关闭您的请求,因此您的连接保持活动状态。保活属性。当您当前的连接关闭时,服务器将接受新连接,默认为 100000 毫秒或服务器超时。在你的情况下,我猜是 30 到 60 秒。您可以首先将 keepalive 属性设置为 false。

【讨论】:

  • 我添加了“request.KeepAlive = false”但它仍然没有改变任何东西?是否与我需要更改的 python 服务器代码有关?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-29
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多