繁体   English   中英

内部异常 #1:MSG:底层提供程序在打开时失败。 在服务器上

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM