服务器关闭导致的invalidoperationexception的EF恢复

时间:2010-05-19 06:05:39

标签: entity-framework

我有一个依赖EF的Windows服务,它运行正常,直到服务器出现故障。问题是在服务器再次启动之后,它没有自行修复并仍然抛出错误:

  

INTERNAL ERROR:执行命令需要一个开放且可用的连接。连接的当前状态已被破坏。

不是非常精通EF我不知道如何从这种情况中恢复,以及为什么它首先发生?有人曾经发生过这种事吗?

2 个答案:

答案 0 :(得分:6)

ObjectContext的生命周期是多少?如果您在服务的生命周期中使用单个ObjectContext,则会导致此类问题。您应该将ObjectContext生命周期缩小到较小的时间窗口,为每个工作单元创建一个新的窗口。

答案 1 :(得分:-1)

描述here的解决方案对我有用, 修改连接字符串中的连接超时

  

FROM server ='MySQLServer''; Integrated Security = true; Initial   Catalog ='EVConfiguration';连接超时= 100 TO   server ='MySQLServer'; Integrated Security = true; Initial   Catalog ='EVConfiguration';连接超时= 0