【发布时间】:2013-01-30 02:10:47
【问题描述】:
我有一个可以工作的 WCF 服务,但它使用标准 ADO.net 来调用一些存储过程。
维护起来有点麻烦和烦人,因为我调用的任何存储过程都必须映射到必须手动创建的 DataContracts,然后以 JSON 格式返回。
我想将 WCF 服务转换为返回 EntityFramework 实体(因此我不必继续手动映射和创建数据契约)。
我的方法中有这样的东西,例如:
public List<GetStuff_Result> GetStuff(string param1)
{
...
StuffEntities ctx = new DataContracts.StuffEntities();
List<GetStuff_Result> list = ctx.GetStuff(5463, "test").ToList();
return list;
}
我已经在 edmx 模型中设置了存储过程以返回 GetStuff_Result(我导入了存储过程并使用了“创建复杂函数”)
我已经调试过了,我在列表中得到了 2 个结果,但是当我通过浏览器调用我的 WCF 方法时,我在浏览器(chrome)上收到一条消息:
No data received
Unable to load the web page because the server sent no data.
Here are some suggestions:
Reload this web page later.
Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
谁能告诉我如何解决这个问题,或者至少告诉我为什么会这样?
注意(1):我还右键单击了 edmx 文件并禁用了延迟加载。
注意 (2):我已经设置了一个 DbContext 生成器
注(3):我使用WebMessageFormat.Json的响应格式
谢谢
【问题讨论】:
-
你可能会喜欢这个,如何把你的EDMX变成服务hanselman.com/blog/…
标签: c# .net wcf entity-framework entity-framework-5