我有一个使用EF4的.net4应用程序,我使用BasicHttpBinding通过WCF公开我的模型(但是这可以改变)每次我尝试调用这个方法时我的web服务器进程开始在内存中增长并且进程死掉。
问题是当DataContractSeralizer尝试序列化我的实体(有一些关系)进入递归堆栈时。那么,为了通过WCF服务这个实体,是否有任何特殊配置或缺少的东西。
这里有一些额外的信息: 我的EF模型的屏幕截图:http://www.luisguerrero.net/stackoverflow/efmodel.jpg
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;
}
答案 0 :(得分:0)
我通常通过序列化数据投影而不使用任何循环引用来解决这个问题,将其写为LINQ查询。