[英]Automatic retry for the System.Net.Http.HttpClient
我知道實體框架具有“連接彈性和重試邏輯”機制,可用於不可靠的網絡。
System.Net.Http.HttpClient也有這樣的事情嗎? 因此,這是一種自動重試機制,因此當連接丟失或發生超時時,它將重試x次。
那可能嗎?
據我了解,還沒有這種機制。 但是您可以編寫一個事件,並在所有x毫秒內檢查連接性。 喜歡
public class CheckInternet
{
public CheckInternet()
{
Timer t1 = new Timer();
t1.Interval = 1000;
t1.Tick += T1_Tick;
t1.Start();
}
private void T1_Tick(object sender, EventArgs e)
{
var ping = new System.Net.NetworkInformation.Ping();
var result = ping.Send("www.google.com");
if (result.Status != System.Net.NetworkInformation.IPStatus.Success)
{
// Your code to reconnect here
}
}
public event EventHandler CheckConnectivity;
private void OnCheckConnectivity()
{
CheckConnectivity?.Invoke(this, new EventArgs());
}
}
現在,將其實現為其他類使用
CheckInternet cki = new CheckInternet();
cki.CheckConnectivity += new cki_CheckConnectivity;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.