c#http请求越短越好
c# http request as short as possible
发出 HTTP 请求的最简单方法是什么?我不需要阅读答案,我只想尽可能简单地向 url 发送 GET 请求。我正在使用 .NET Framework 3.5。也不需要等待响应。
目前我正在使用以下方式,但我想知道是否有更好的(shorter/doesn不等待响应)方式。
((HttpWebRequest)WebRequest.Create("http://foo.bar/?q=test")).GetResponse();
Waiting for a response is not required either.
非常小心那个要求。出于性能原因,人们似乎 喜欢 到 "fire and forget",直到系统出现问题为止。然后他们发现 "forget" 部分意味着系统被明确设计为 而不是 来处理错误情况。
现在,话虽如此,由于您使用的是 3.0 并且没有 async
或 TPL 的奢侈,您可能只是想启动一个线程来完成工作,以便立即调用代码 returns。 ("don't wait for a response" 部分。)将它与用方便的方法包装它结合起来,你也有 "short" 部分。
也许是这样的:
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");
这里的想法是消费代码不需要等待响应,但是线程可以等待响应并进行相应处理。即使 "handling" 它只是意味着对成功条件不做任何事情。
发出 HTTP 请求的最简单方法是什么?我不需要阅读答案,我只想尽可能简单地向 url 发送 GET 请求。我正在使用 .NET Framework 3.5。也不需要等待响应。
目前我正在使用以下方式,但我想知道是否有更好的(shorter/doesn不等待响应)方式。
((HttpWebRequest)WebRequest.Create("http://foo.bar/?q=test")).GetResponse();
Waiting for a response is not required either.
非常小心那个要求。出于性能原因,人们似乎 喜欢 到 "fire and forget",直到系统出现问题为止。然后他们发现 "forget" 部分意味着系统被明确设计为 而不是 来处理错误情况。
现在,话虽如此,由于您使用的是 3.0 并且没有 async
或 TPL 的奢侈,您可能只是想启动一个线程来完成工作,以便立即调用代码 returns。 ("don't wait for a response" 部分。)将它与用方便的方法包装它结合起来,你也有 "short" 部分。
也许是这样的:
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");
这里的想法是消费代码不需要等待响应,但是线程可以等待响应并进行相应处理。即使 "handling" 它只是意味着对成功条件不做任何事情。