1

在脚本任务中使用 Webrequest 来使用 Rest Service

我收到以下错误

预期保持活动状态的连接被服务器关闭

我在 For Each Loop 容器中调用其余服务。它第一次工作,但没有任何后续执行。

搜索堆栈溢出我遇到了以下设置,这些设置帮助了其他人但不是我

ServicePointManager.Expect100Continue = false;
ServicePointManager.DefaultConnectionLimit = 100;
ServicePointManager.MaxServicePointIdleTime = 5000;

我认为这是因为 KeepAlive 属性设置为 true 但我看不到更改它的方法,而且它不是可以更改的属性

在此处输入图像描述

4

1 回答 1

1

你可以投

HttpWebRequest req = WebRequest.Create("https://www.server.com/api/stuff") as HttpWebRequest;

req.KeepAlive = false;
HttpWebResponse response = (HttpWebResponse)req.GetResponse();

或覆盖

internal class MyWebClient : WebClient
{
    override WebRequest GetWebRequest(Uri address)
    {
        HttpWebRequest req = (HttpWebRequest)base.GetWebRequest(address);
        req.KeepAlive = false;

        return req;
    }
}

WebRequest可以访问隐藏或抽象的更多属性!

于 2020-03-04T15:25:18.937 回答