У меня есть простой DomainService:
[EnableClientAccess]
public class DomainService1 : IDomainService1
{
[Query(IsComposable = true)]
public IEnumerable<int> GetCollection(int from, int count)
{
const int max = 100000;
int[] _collection;
_collection = new int[max];
for (int i = 0; i < max; i++)
{
_collection[i] = i;
}
return _collection.Skip(from).Take(count);
}
}
На стороне клиента я сгенерировал прокси: client
Мне нужно составить запрос LINQ на стороне клиента и выполнить его на стороне сервера и через службувозвращать результат запроса.
Когда я делаю:
var res1 = client.GetCollection(100, 20).Skip(5).Take(5);
, чем client.GetCollection (100, 20) выполняется на стороне сервера и Skip (5) и Take (5) на стороне клиента.
Когда я делаю:
var res2 = client.GetCollection(100, 90000).Skip(10).Take(10);
, генерируется исключение:
Основное соединение было закрыто: соединение было неожиданно закрыто.
Я думаю,Это связано с тем, что client.GetCollection (100, 90000) возвращает большой набор результатов.
Можно ли получить более точную информацию о причине отказа сервера?И возможно ли выполнить запрос с клиента на сервер?Я так думаю, потому что это позволяет LinqToEntitiesDomainService.Но я не могу использовать EF, потому что у меня есть доступ только к списку объектов в памяти.
Спасибо.
JPo