在实体框架中处理网络错误的最佳方法是什么?每次我与Azure SQL数据库的互联网连接不畅时,我都会收到以下错误:
基础提供程序在打开时失败
建立与SQL Server的连接时,发生了与网络相关或特定于实例的错误。找不到或无法访问服务器。
我知道这个错误是由工作中互联网连接的稳定性引起的,所以我不是想修复这个错误,而是想向用户优雅地处理它。
我可以使用try-catch,但我必须修改每个类中试图使用连接的每一行。
一种选择是使用存储库进行连接并处理错误,但重构代码的每一部分都需要花费大量时间。所以我正在寻找替代方案。
示例
Context DB = new Context();
List<Persona> lista = new List<Persona>();
List<Persona> listaTemporal = new List<Persona>();
listaTemporal = DB.Personas.Where(one => one.Activo == true &&
one.FechaEstadoInicialSAP != null)
.ToList(); // it stops here because of the exception
这里有一个很好的指针,带有用于实现重试策略的代码示例:https://msdn.microsoft.com/en-us/data/dn456835.aspx?f=255&MSPP错误=-2147217396
谢谢,Mihaela