Я унаследовал этот код от разработчика, который вышел на прошлой неделе. Его код основан на статье:
"Restful WCF/EF POCO/UnitOfWork/Repository/MEF".Служба IQueryable WebAPI: зачем мне звонить .ToList()?
Этот метод работает (когда я просматриваю к http://myapp/myservice/Returns):
[WebGet(UriTemplate = "Returns")]
public IQueryable<ReturnSnapshot> GetReturnSnapshots()
{
using (UnitOfWork)
{
ReturnSnapshotsRepository.EnrolInUnitOfWork(UnitOfWork);
return ReturnSnapshotsRepository.FindAll().ToList().AsQueryable();
}
}
, но не будет ли ToList()
заставит весь стол, чтобы вытянуть из хранилища? У нас будет 500K + строк в производстве.
Я думал, что я мог бы изменить последнюю строку следующим образом:
return ReturnSnapshotsRepository.FindAll();
FindAll
как возвращает IQueryable. Тем не менее, мое изменение нарушает сервис, который теперь устраняет ошибку HTTP 12152.
Что мне делать?
Что такое "HTTP 12152 error"? – Gabe
ERROR_WINHTTP_INVALID_SERVER_RESPONSE 12152 Ответ сервера не может быть проанализирован. - Начиная с Windows Server 2003 и Windows XP с пакетом обновления 2, максимальный объем данных заголовка WinHTTP принимает в ответе HTTP по умолчанию 64K. Если HTTP-ответ сервера содержит более 64 Кбайт общих данных заголовка, WinHTTP выдает запрос с ошибкой ERROR_WINHTTP_INVALID_SERVER_RESPONSE. – dtb
Почему вы выполняете свое подразделение перед выполнением запроса? Это не выглядит правильным для меня. – CodesInChaos