我正在努力實現客戶端的要求。 我有一個Web服務,它反過來調用客戶端的Web服務。我們的服務使用webclient的UploadString()屬性向客戶端服務發送一個請求。在這裏我經常請求客戶端服務,所以我想保持連接活着。我開始知道在HTTP 1.1中有一個叫做「KeepAlive」允許持久連接。我的問題是,是否有可能通過C#代碼配置此Keepalive的超時屬性?在c#中更改保持活動狀態.net
感謝您的幫助:)
我正在努力實現客戶端的要求。 我有一個Web服務,它反過來調用客戶端的Web服務。我們的服務使用webclient的UploadString()屬性向客戶端服務發送一個請求。在這裏我經常請求客戶端服務,所以我想保持連接活着。我開始知道在HTTP 1.1中有一個叫做「KeepAlive」允許持久連接。我的問題是,是否有可能通過C#代碼配置此Keepalive的超時屬性?在c#中更改保持活動狀態.net
感謝您的幫助:)
要使用這個方法,你必須創建的WebClient派生的類,看到這個例子。你可以在那裏設置超時,保持活動,tcpkeepalive。而使用這個類,而不是Web客戶端:
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;
}
}
相關:https://msdn.microsoft.com/en-us/library/system.net.servicepoint.settcpkeepalive(v=vs.110).aspx – 2016-07-22 13:12:27
@x ...感謝您的答覆。但是,請讓我知道如何使用網絡客戶端實現它?對不起,我不是這方面的專家。 – Sudheesh