是的,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实例。