我事先表示歉意,因为我看到很多人已经回答了这个问题,但仍然找不到我想要的答案。我有一堂静态课里面有静态构造函数
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();
}
}
}
我正在通过此函数访问此属性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,FILE :,方法:打开,行:0内部异常2:MSG:建立时发生与网络相关或特定于实例的错误与SQL Server的连接。服务器未找到或无法访问。验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供程序:命名管道提供程序,错误:40-无法打开与SQL Server的连接),源:.Net SqlClient数据提供程序,文件:,方法:TryGetConnection,行:0内部异常#3:MSG:网络路径为找不到,来源:,文件:,方法:,行:
因此,只要出现此问题,我都将重新启动IIS应用程序池,然后解决此问题,就不会再出现了
[当我看到错误日志时,我看到多次调用静态构造函数,因为它抛出错误谁能告诉我问题出在哪里?
TypeInitializationException当静态构造函数出现错误时发生。它包装来自静态构造函数的错误。无法将其可靠地困在静态构造函数之外。我认为可能是当您调用方法db.uspGetFilePath()
或在使用Sql连接的构造函数new MakEntities()
中。内部异常中的错误:“与SQL Server建立连接时发生了与网络相关或特定于实例的错误。找不到服务器或无法访问服务器”。您必须验证您的Sql连接字符串。