c# HTTP请求尽可能短

本文关键字:尽可能 请求 HTTP | 更新日期: 2023-09-27 18:07:30

发出HTTP请求最简单的方法是什么?我不需要阅读答案,我只是想发送一个GET请求到一个url尽可能简单。我使用的是。net框架3.5。也不需要等待响应。

目前我正在使用以下方式,但我想知道是否有更好的(更短/不等待响应)方式

((HttpWebRequest)WebRequest.Create("http://foo.bar/?q=test")).GetResponse();

c# HTTP请求尽可能短

也不需要等待响应。

非常小心 这个要求。人们似乎因为性能原因喜欢"炒了就忘",直到系统出了问题。然后他们发现"忘记"部分意味着系统被明确地设计为而不是来处理错误条件。


现在,既然您使用的是3.0,并且没有async或TPL的奢侈,那么您可能只是考虑启动一个线程来完成工作,以便被调用的代码立即返回。("不要等待回应"的部分。)结合这一点,用一个方便的方法包装它,你也有"短"的部分。

也许像这样:

public static void SendRequest(string url)
{
    var thread = new Thread(ThisClass.SendRequest));
    thread.Start(url);
    // maybe do something to monitor the thread object?
}
private static void SendRequest(object url)
{
    var response = ((HttpWebRequest)WebRequest.Create(string.Format("{0}", url))).GetResponse();
    // You have a response, might as well examine it for success/failure
}

所以消费代码只需调用:

ThisClass.SendRequest("http://foo.bar/?q=test");
这里的想法是,使用代码不需要等待响应,但是线程可以等待响应并相应地处理它。即使"处理"仅仅意味着对成功条件不做任何事情。