0
我有一个WCF服务项目,当我尝试加载实体时发生错误。 (。包括)。急于加载使用实体框架的错误WCF 6
我的设置是这样的:
- WCF服务库项目
- 类库项目 - EDMX坐落有
- 类库项目 - 视图模型安置有
- WPF项目
我花了一段时间试图解决这个序列化问题,当我渴望加载实体。
这是我现在的位置。以下作品:
[OperationContract]
[FaultContract(typeof(HandleException))]
[ApplyProxyDataContractResolver]
List<Item> GetItems();
using (var dbContext = new MyEntities())
{
dbContext.Configuration.LazyLoadingEnabled = false;
return dbContext.Items.ToList();
}
,并显示如下:
但这种故障并给出了未能调用该服务的一般错误消息
。可能的原因:服务处于脱机状态或无法访问;客户端配置与代理不匹配;现有的代理无效。有关更多详细信息,请参阅堆栈跟踪。您可以尝试通过启动新代理,还原为默认配置或刷新服务来进行恢复。
这就是抛出异常
return dbContext.Items.Include(x => x.Category).ToList();
我试图改变返回类型Item
然后像这样
return dbContext.Items.Include(x => x.Category).FirstOrDefault(t => t.Category.CategoryId == t.CategoryId);
而且我已经加入[CyclicReferencesAware(true)]
但测试客户端仍在轰炸。
类别是自引用层次结构 - 我认为这就是为什么它无法处理它。
我该如何解决这个问题?
谢谢。
我只是想出来,不得不添加dbContext.Configuration.ProxyCreationEnabled = false;然后添加CyclicReference属性,它正常工作。 – user1307149