c# - .NET 4.0 Entity Framework 超时已过期

标签 c# entity-framework-4 timeout

<分区>

我正在使用 MVC3、.NET 框架 4.0 和 Entity Framework 开发一个 ASP.NET 网站。当我运行应用程序并对 SQL Server 2005 数据库执行简单选择时,出现以下错误:

“抛出了 System.Data.SqlClient.SqlException:”超时已过。在操作完成之前超时期限已过,或者服务器没有响应。”

事情就是这样。我尝试登录并从管理工作室执行相同的查询并且它有效。我使用 .NET Framework 4.0 和 Entity Framework 开发了一个小型控制台应用程序,它执行完全相同的查询,它返回了我需要的信息。我什至从使用 Entity Framework 切换到 ADO.NET 类(SqlConnection 和 SqlCommand),当从 SqlCommand 实例执行选择时,我得到了完全相同的错误。

当我使用 Entity Framework 创建模型时,我能够从向导连接到数据库并且工作正常。我创建了所有类,没有任何问题。

请不要告诉我解决方案是增加任何超时,因为查询真的很小(最多 20 条记录),正如我之前所说,当使用相同的技术甚至相同的技术从控制台应用程序运行它时,它工作正常我放在下面的代码。

这是给我问题的代码:

MLIBEntities dbMLIB = new MLIBEntities();

var searchResults = (from s in dbMLIB.Sets
                     where s.setmap1.StartsWith(accountNumber)
                     select s);

return searchResults.ToList();

运行searchResults.ToList()时抛出异常;

这是实体类正在使用的我的连接字符串。我确定它使用了连接字符串,因为我修改了它并检测到了语法错误。

<connectionStrings>
    <add name="MLIBEntities" connectionString="metadata=res://*/Models.MlibDBModel.csdl|res://*/Models.MlibDBModel.ssdl|res://*/Models.MlibDBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=HERPADERP;Initial Catalog=MLIB;Integrated Security=True;MultipleActiveResultSets=True;Connect Timeout=200&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

我猜这一定是 MVC 网络应用程序某处的配置问题,或者我只是在 Web.config 文件中遗漏了某些内容。你们中有人遇到过这个问题吗?我知道这真的很奇怪。

感谢您的帮助。我真的没主意了。

最后一件事。我运行了 SQL 事件探查器,但查询似乎从未进入数据库服务器。关于为什么会发生这种情况的任何想法?

最佳答案

我遇到了同样的问题,后来又出现了一个,与MSSQL无关。为了解决第一个问题(运行查询花费的时间太长),我更改了 command.CommandTimeout 以使用更大的数字(默认值为 30)。出现的另一个问题是当我使用计划任务运行此应用程序时 - 20 分钟后它会抛出错误

"Thread was being aborted"

查看日志错误后,发现应用程序池也有超时,默认值为 20 分钟。

关于c# - .NET 4.0 Entity Framework 超时已过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4927298/

相关文章:

c# - Automapper:从单个源值填充多个目标值

c# - 我可以在 32 位系统上运行在 64 位系统上开发的 C# 应用程序吗?

.net - 自数据库创建以来,支持 <Database> 上下文的模型已发生更改

entity-framework - ExecuteStoreQuery 返回多行如何将其放入 IList 或 List

powershell - 在 powershell 脚本中添加超时部分

c# - 如何保护 azure Blob

c# - 通过 Internet 的 SQL 连接 : good practice?

entity-framework - 有什么方法可以从 EDMX 模型生成数据库而无需对所有表名进行复数化?

php - 低于 1 秒 mysql.connect_timeout - 可能吗?愿意编辑php源码

java - Apache Http 客户端打印 "[read] I/O error: Read timed out""