我正在努力实现客户的需求。我有一个web服务,它反过来调用客户端的web服务。我们的服务使用webclient的UploadString()属性将请求POST到客户端服务。在这里,我经常请求客户端服务,所以我想保持连接。我知道在HTTP1.1中有一个叫做"KeepAlive"的特性,它允许持久连接。我的问题是,是否可以通过c#代码配置此保活的超时属性?
感谢您的帮助:)
要使用该方法,必须创建一个从WebClient派生的类,请参阅此示例。你也可以在那里设置超时、保活、tcpkeepalive。并使用此类,而不是WebClient:
public class WebClientExtended : WebClient
{
protected override WebRequest GetWebRequest(Uri uri)
{
var w = (HttpWebRequest) base.GetWebRequest(uri);
w.Timeout = 5000; // Set timeout
w.KeepAlive = true; // Set keepalive true or false
w.ServicePoint.SetTcpKeepAlive(true, 1000, 5000); // Set tcp keepalive
return w;
}
}