在WP7上使用wcf,实体超时

时间:2011-05-14 08:08:37

标签: wcf entity-framework windows-phone-7 timeout

我创建了一个wcf服务,但它不能与实体对象一起使用。我使用List<String>对其进行了测试,但它有效,但它不适用于实体。

我有这样的信息:

对'http:// localhost:26823 / test / Service.svc'的HTTP请求已超过分配的超时00:00:59.9950000。分配给此操作的时间可能是较长超时的一部分。

这是我的代码:

[ServiceContract]
public interface IService
{
    [OperationContract]
    List<Contrat> GetData(int value);

}

public List<Contrat> GetData(int value)
{
    contratsDispo = (MYLINQ).ToList();

    return contratsDispo;
}

我的数据在这里。我看了看这里。

我的Windows手机代码:

    private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
    {
        ServiceClient client = new ServiceClient();
        client.GetDataAsync(1);

        client.GetDataCompleted +=new EventHandler<GetDataCompletedEventArgs>(client_GetDataCompleted);
    }

    void client_GetDataCompleted(object sender, GetDataCompletedEventArgs e)
    {
        if (e.Result != null)
        {
         ....
        }
    }

thx求助

1 个答案:

答案 0 :(得分:0)

如果您在两种情况下在数据库上运行探查器,您将看到导致问题的原因。

实际上我认为Ladislav的评论指出了这个问题:

  • 当您执行ToList时,只需将对象的顶层转换为列表
  • 当您返回对象时,它会尝试加载所有子对象

WCF序列化程序会触发子实体的加载。