.net DataContractSerializer在进程死亡之前泄漏内存

.net DataContractSerializer在进程死亡之前泄漏内存,.net,wcf,entity-framework,memory-leaks,datacontractserializer,.net,Wcf,Entity Framework,Memory Leaks,Datacontractserializer,我有一个使用EF4的.net4应用程序,我使用BasicHttpBinding通过WCF公开了我的模型,但这一点可以改变,每次我尝试调用此方法时,我的web服务器进程在内存中开始增长,并且进程死亡 问题在于,试图序列化实体的DataContractSeralizer在递归堆栈中输入了一些关系。那么,为了通过WCF为这个实体提供服务器,我是否缺少任何特殊配置或其他东西 以下是一些额外信息: 我的EF车型截图: 我通常通过序列化数据的投影来解决这个问题,而不使用任何循环引用,以LINQ查询的形式编写

我有一个使用EF4的.net4应用程序,我使用BasicHttpBinding通过WCF公开了我的模型,但这一点可以改变,每次我尝试调用此方法时,我的web服务器进程在内存中开始增长,并且进程死亡

问题在于,试图序列化实体的DataContractSeralizer在递归堆栈中输入了一些关系。那么,为了通过WCF为这个实体提供服务器,我是否缺少任何特殊配置或其他东西

以下是一些额外信息: 我的EF车型截图:


我通常通过序列化数据的投影来解决这个问题,而不使用任何循环引用,以LINQ查询的形式编写

public List<ExtendedSession> GetAllExtendedSessionByFilter(int id)
{
        QueryDataAccess<ExtendedSession, NextWebEntities> query = new QueryDataAccess<ExtendedSession, NextWebEntities>("ExtendedSession");
        List<ExtendedSession> result = query.GetAllByFilter(item => item.SessionId == id, "Rule");
        return result;
}