【发布时间】:2012-02-14 06:02:59
【问题描述】:
我从上周离职的开发人员那里继承了这段代码。他的代码基于文章:
"Restful WCF / EF POCO / UnitOfWork / Repository / MEF".
此方法有效(当我浏览到 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_WINHTTP_INVALID_SERVER_RESPONSE 12152 无法解析服务器响应。 -- 从 Windows Server 2003 和带有 SP2 的 Windows XP 开始,WinHTTP 在 HTTP 响应中接受的最大标头数据量默认为 64K。如果服务器 HTTP 响应包含超过 64K 的总标头数据,WinHTTP 将失败请求并返回 ERROR_WINHTTP_INVALID_SERVER_RESPONSE 错误。
-
为什么在执行查询之前处理你的工作单元?这对我来说看起来不对。
标签: c# entity-framework-4.1 wcf-web-api