实体框架objectcontext过早结束

时间:2011-01-13 17:11:18

标签: wcf entity-framework entity

您好我收到错误“ObjectContext实例已被处理,不能再用于需要连接的操作”。当我从wcf服务运行一些方法时。所有这些都使用新的上下文对象,并且大多数都运行没有问题。然而,这个仍然给出了上面的错误,尽管在我的代码中有几个具有类似实现的方法在上面的几行中成功:

public CustomAuthentication.WebService.Application GetApplicationByUrl(string url)
        {
            try
            {
                using (AuthenticationEntities2 auth = new AuthenticationEntities2())
                {
                    Application app = auth.Applications.Where(a => a.Url.Contains(url)).FirstOrDefault();

                return app;
            }
        }
        catch (Exception ex)
        {
            throw new FaultException(ex.Message + "\r\n" + ex.StackTrace + "\r\n" + ex.InnerException);
        }
    }

我最初也从vs看到了这个错误“底层连接已关闭:服务器已关闭预期保持活动状态的连接。”所以我认为在我的wcf服务中序列化对象是一个问题。所以我对服务进行了一些跟踪,发现了上面的错误。所以现在相信它的实体相关。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尝试关闭ObjectContext上的延迟加载。很可能你的应用程序包含在序列化期间触发延迟加载的导航属性。