我向您道歉,因为我看到很多人已经回答了这个问题,但仍然找不到我想要的答案。
在我的解决方案中,我有5个项目,其中2个是C#库(Core层和Data层)。其他三个使用核心层连接到数据层,这三个是一个Web-API项目,一个测试winform项目和一个MVC项目。我目前正在尝试winform项目,而这正是发生错误的地方。连接到数据库时,API项目可以正常工作。
正如标题所示,我在winform项目中遇到了这个普遍的例外情况
System.Data.DataException:'初始化时发生异常 数据库。有关详细信息,请参见InnerException。'
EntityException:基础提供程序在打开时失败。
具有以下内部例外情况
SqlException:连接超时已过期。超时时间已过 尝试使用登录前握手确认时。 这可能是因为登录前握手失败或服务器已 无法及时回复。尝试花费的时间 连接到该服务器的方法是-[登录前]初始化= 38878; 握手= 35;
Win32Exception:等待操作超时
错误发生在Database.Initialize(true);
上的我的数据上下文中:
public class DataContext : DbContext
{
public DataContext() : base("HololensRegistreringsskyltar")
{
Database.SetInitializer(new DataContextInitializer<DataContext>());
Database.Initialize(true);
}
}
如果这很重要的话,我也在工作单元中使用通用存储库模式(这是我的新手)。
在API项目web.config中只有一个连接字符串,也许在其他两个“外”层中也应该有连接字符串吗?
谁能告诉我如何解决此问题并使之适用于所有3个“外部”层?
答案 0 :(得分:0)
以下情况可能导致此异常: