Тайм-аут с wcf, сущность на WP7 - PullRequest
0 голосов
/ 14 мая 2011

Я создал службу wcf, но она не работает с объектом.Я протестировал его с List<String>, и он работал, но он не работает с сущностью.

У меня есть это сообщение:

Превышен HTTP-запрос к 'http://localhost:26823/test/Service.svc'выделенное время ожидания 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 Phone:

    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)
        {
         ....
        }
    }

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 14 мая 2011

Если вы запустите профилировщик в базе данных в двух случаях, вы увидите, что является причиной проблемы.

На самом деле я думаю, что комментарий Ладислава указывает на проблему:

  • Когда вы создаете ToList, он просто конвертирует верхний уровень объекта в список
  • Когда вы возвращаете объект, он пытается загрузить все подчиненные объекты

Это WCFСериализатор, запускающий загрузку дочерних объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...