好的,当有人在我的WCF服务上调用“Authenticate”(使用http)时,我有以下对象。
[DataContract]
public sealed class SecurityContext
{
private Guid _tolken;
private User _user;
private ICallbackContract _callbackContract;
[IgnoreDataMember]
public ICallbackContract CallbackContract
{
get { return _callbackContract; }
}
[DataMember]
public User User
{
get { return _user; }
set { _user = value; }
}
[DataMember]
public Guid Tolken
{
get { return _tolken; }
set { _tolken = value; }
}
public SecurityContext(Guid tolken, User user, ICallbackContract callbackContract)
{
Asserter.IsNotNullArgument(tolken, "tolken");
Asserter.IsNotNullArgument(user, "user");
Asserter.IsNotNullArgument(callbackContract, "callbackContract");
_tolken = tolken;
_user = user;
_callbackContract = callbackContract;
}
}
出于某种原因,当我进行异步调用时,它超时并且我从未得到响应,但是当我注释掉User对象(它是一个Entity Framework对象)时,它工作正常。
以前有人经历过这个吗?
答案 0 :(得分:2)
好的,所以我想出了问题所在。显然,实体模型默认设置为Lazy load。这导致数据在发送到客户端时出现问题......
我在实体模型创建过程中解决了这个问题......
_entities.ContextOptions.LazyLoadingEnabled = false;
答案 1 :(得分:0)
是User类有DataContract属性吗?