是的,C#中的WebRequest类是可以复用的。WebRequest类是一个抽象类,用于表示HTTP请求。您可以创建一个继承自WebRequest的类,然后实现自己的请求逻辑。这样,您可以在多个地方重用您的自定义WebRequest类。
例如,您可以创建一个名为MyWebRequest的类,继承自WebRequest,并实现自己的请求逻辑:
using System;
using System.IO;
using System.Net;
using System.Text;
public class MyWebRequest : WebRequest
{
private HttpWebRequest _httpWebRequest;
public MyWebRequest(Uri uri)
{
_httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);
}
public override Stream GetRequestStream()
{
return _httpWebRequest.GetRequestStream();
}
// 实现其他必要的方法,例如GetResponse、BeginGetRequest等
}
然后,您可以在需要发送HTTP请求的地方使用您的自定义MyWebRequest类:
using System;
class Program
{
static void Main()
{
Uri uri = new Uri("https://api.example.com/data");
MyWebRequest request = new MyWebRequest(uri);
using (Stream stream = request.GetRequestStream())
{
// 发送请求的逻辑
}
}
}
这样,您就可以在多个地方重用您的MyWebRequest类,而不需要每次都创建一个新的WebRequest实例。