我知道实体框架具有“连接弹性和重试逻辑”机制,可以处理不可靠的网络。
System.Net.Http.HttpClient还有这样的东西吗? 所以这是一种自动重试机制,所以当连接丢失或发生超时时,它将重试x次。
这可能吗?
答案 0 :(得分:0)
据我所知,没有这样的机制。但是你可以自己写一个事件,检查所有连接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;