相关疑难解决方法(0)

我可以重用HttpWebRequest吗?

我可以重用HttpWebRequest吗?

看起来对网站的第3个请求会导致操作超时.似乎每个请求都创建了一个新连接,所以我想知道我是否可以通过更改URL并再次获取请求来重用HttpWebRequest.有问题的代码如下.此代码检查是否存在一系列URL.

    static void storeList(TextWriter sw, string urlTemplate, int start, int end)
    {
        for (int i = start; i < end; i++)
        {
            var url = string.Format(urlTemplate, i);
            var req = (HttpWebRequest)HttpWebRequest.Create(url);
            {
                req.Method = "HEAD";
                tryHttpWebRequest
                {
                    var resp = req.GetResponse();
                    sw.WriteLine(i);
                }
                catch (Exception e)
                {
                }
            }
        }
        sw.Flush();
    }
Run Code Online (Sandbox Code Playgroud)

.net httpwebrequest

21
推荐指数
2
解决办法
1万
查看次数

写入开始后无法设置此属性!在C#WebRequest对象上

我想重用一个WebRequest对象,以便保存cookie和会话以便以后向服务器请求.以下是我的代码.如果我第二次使用Post功能两次

request.ContentLength = byteArray.Length;

它会引发异常

写入开始后无法设置此属性!

但正如你所看到的那样

dataStream.Close();

应该关闭写作过程!谁知道发生了什么事?

static WebRequest request;

public MainForm()
{
    request = WebRequest.Create("http://localhost/admin/admin.php");
}

static string Post(string url, string data) 
{
    request.Method = "POST";
    byte[] byteArray = Encoding.UTF8.GetBytes(data);
    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = byteArray.Length;
    Stream dataStream = request.GetRequestStream();
    dataStream.Write(byteArray, 0, byteArray.Length);
    dataStream.Close();
    WebResponse response = request.GetResponse();
    Console.WriteLine(((HttpWebResponse)response).StatusDescription);
    dataStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(dataStream);
    string responseFromServer = reader.ReadToEnd();
    Console.WriteLine(responseFromServer);
    reader.Close();
    dataStream.Close();
    response.Close();
    request.Abort();
    return responseFromServer;
}
Run Code Online (Sandbox Code Playgroud)

c#

2
推荐指数
1
解决办法
8138
查看次数

标签 统计

.net ×1

c# ×1

httpwebrequest ×1