![](/img/trans.png)
[英]Entity Framework giving exception : “The underlying provider failed on Open.”
[英]INNER EXCEPTION #1: MSG: The underlying provider failed on Open. On Server
我事先道歉,因为我看到很多人已经回答了这个问题,但我仍然找不到答案,我正在寻找。 我有一个 static class 有 static 构造函数
public static class AppSettingsWrapper
{
public static List<uspGetFilePath_Result> FilePaths = new List<uspGetFilePath_Result>();
static AppSettingsWrapper()
{
using (MakEntities db = new MakEntities ())
{
FilePaths = db.uspGetFilePath().ToList();
}
}
}
我正在从此 function 访问此属性 FilePaths
public static uspGetFilePath_Result GetUploadInfo(EnumHelper.FilePathDesc filePath)
{
try
{
return AppSettingsWrapper.FilePaths.Where(x => x.ID == Convert.ToInt32(filePath)).FirstOrDefault();
}
catch (Exception)
{
throw;
}
}
但是有时当我调用这个函数时,我得到了这个异常'PQCTrack.Utility.AppSettingsWrapper'的类型初始化器抛出了一个异常。
System.TypeInitializationException
内部异常 #1:MSG:底层提供程序在打开时失败。,源:EntityFramework,文件:,方法:打开,LINE:0 内部异常 #2:MSG:建立连接时发生与网络相关或特定于实例的错误到 SQL 服务器。 服务器未找到或无法访问。 验证实例名称是否正确,并且 SQL 服务器配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL 服务器的连接),源:.Net SqlClient 数据提供者,文件:,方法:TryGetConnection,行:0 内部异常 #3:MSG:网络路径是未找到,源:,文件:,方法:,行:
因此,每当出现此问题时,我都会重新启动 IIS 应用程序池,然后问题得到解决,它不会再次出现
当我看到错误日志时,我看到 static 构造函数被多次调用,因为它正在抛出错误 谁能告诉我问题出在哪里?
当 static 构造函数出现错误时,会发生 TypeInitializationException。 它包装了来自 static 构造函数的错误。 它不能可靠地被困在 static 构造函数之外。 我认为可能是当您调用方法db.uspGetFilePath()
或在构造函数new MakEntities()
中使用 Sql 连接时。 内部异常中的错误:“与 SQL 服务器建立连接时发生与网络相关或特定于实例的错误。未找到或无法访问服务器”。 您必须验证您的 Sql 连接字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.