Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема получения данных на клиенте. WCF + EF5 
:(
    Опции темы
likegift
Дата 26.10.2013, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 14.10.2008

Репутация: нет
Всего: 3



Чот не получается с наскока побороть. Есть клиент на Silverlight и есть WCF сервис. Отправляю на клиент список объектов класса, сгенерированного EF.


Код

 public List<A> GetAA()
        {
            var context = new BBEntities();
            context.Configuration.LazyLoadingEnabled = false;
            var res=context.AA.Where(a => !a.EndTime.HasValue).ToList();
            return res;
        }


 На клиенте падает с ошибкой таймаута.


Код

The HTTP request to 'http://localhost/DataService/DataService.svc' has exceeded the allotted timeout. The time allotted to this operation may have been a portion of a longer timeout.



Что я пробовал:
1. Configuration.LazyLoadingEnabled = false;
2. У автосгенерированных классов прописывал  [OperationContract] и [DataMember]
3. В конфиге выставлял receiveTimeout="02:00:00" (хотя падает все равно через минуту) и <add maxconnection = "200" address ="*" />

При все при этом наткнулся на пример в инете, где ничего этого сделано не было, но все заработало, а у меня нет.

Нашел место из-за которого падает. У класса А есть виртуальное свойство 

Код

public virtual ICollection<C> CC { get; set; }


Если virtual убрать, то все работает. Но это же не выход
Еще можно написать:

Код

context.Configuration.ProxyCreationEnabled = false;


тогда тоже приходит результат на клиент, но навигационное свойство пустое :(

А это нормально, что класс A  имеет свойство public virtual ICollection<C> CC { get; set; }, а класс С имеет свойство public virtual A A { get; set; }??
Мне кажется, что на клиенте при десериализации он зацикливается на бесконечной вложенности этих двух классов.


Это сообщение отредактировал(а) likegift - 27.10.2013, 15:15
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.1023 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.