我需要知道数据库连接(通过 WCF RIA + EF)何时打开,何时关闭。但是在我的 DomainService ( 在 web 端) 方法中:
return this.ObjectContext.Connection.State.ToString();
总是返回“关闭”。哪怕刚才是成功的反应。连接确实在第一次请求后打开,并在超时后自动关闭(在 web.config 中配置),因为在 WFC RIA 中我不调用“打开-”和“关闭连接”命令。但主要问题 - 如果连接超时,DomainContext 不会告诉客户端这件事。
因此,如果连接超时并且用户尝试向数据库发出请求 - 他将得到一个异常(实际上是访问异常),那么,DomainContext隐藏地自动恢复连接,并且用户可以在第二次请求后得到答案(所有超时后)。
这就是为什么我需要知道 - 连接状态何时关闭,何时打开。
我只想做一个可以实时显示真实连接状态的指示器。
第二个不太重要的问题 - 我是否需要创建一个静态 DomainContext 对象来隐含任何数据库操作(包括登录、注销、GetQuerriess 等)?可以吗?几乎为每组操作获取新的 DomainContext 实例?希望,你明白我的想法。