加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – .NET 4.0实体框架超时已过期[已关闭]

发布时间:2020-12-15 18:00:07 所属栏目:百科 来源:网络整理
导读:我正在使用MVC3,.NET框架4.0和实体框架开发一个ASP.NET网站.当我运行应用程序并执行一个简单的选择SQL Server 2005数据库时,我得到以下错误: “抛出一个System.Data.SqlClient.SqlException:”超时过期.在完成操作或服务器之前经过的超时时间没有响应.“
我正在使用MVC3,.NET框架4.0和实体框架开发一个ASP.NET网站.当我运行应用程序并执行一个简单的选择SQL Server 2005数据库时,我得到以下错误:

“抛出一个System.Data.SqlClient.SqlException:”超时过期.在完成操作或服务器之前经过的超时时间没有响应.“

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

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

请不要告诉我解决方案是增加任何超时,因为查询真的很小(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应用程序中的一个配置问题,或者我只是在Web.config文件中遗漏了一些东西.有人有这个问题吗?我知道这真的很奇怪.

感谢您的帮助.我真的很想念

最后一件事.我运行了SQL分析器,似乎这个查询从来没有让它到数据库服务器.任何想法为什么会发生这种情况?

解决方法

我有同样的问题,另一个也出现在后面,与MSSQL无关.要解决第一个问题(运行查询花费的时间太长),我更改了command.CommandTimeout来使用较大的数字(默认为30).出现的另一个问题是当我使用计划任务来运行这个应用程序 – 在20分钟之后会抛出错误

“Thread was being aborted”

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读