繁体   English   中英

WCF Web服务:响应为200 / ok,但响应正文为空

[英]WCF web service: response is 200/ok, but response body is empty

我正在创建一个WCF web api服务。 我的问题是某些方法返回200 / OK响应,但标题和正文是空的。

在设置我的Web服务时,我创建了一个ADO.NET实体数据模型。 我添加代码生成项时选择了ADO.NET DbContext Generator。 在Model.tt文档中,我将HashSet和ICollection更改为List。 我建立了我的网站。

以前,当我编写一个方法来返回一个实体的List(如Northwind数据库中的List<Customer>List<Employee> )时,它运行正常。 随着时间的推移,我无法返回任何一个列表,只能抓住一个实体。 现在,它已经到了我可以返回List<string>List<int> ,但不是List或任何实体的实例。 当我尝试获取List<AnyEntity> ,响应为200 / OK,但响应标头和正文为空。

我尝试过使用调试器和Firefox的Web控制台。 使用FF的WC,我只能得到一个“未定义”的状态代码。 我不知道从哪里开始。

编辑:在尝试从数据库中抓取所有区域时,我这样做:

[WebGet(UriTemplate = "areas")]
public List<a1Areas> AllAreas()
{
    return context.a1Areas.ToList();
}

我将不胜感激调试此方法。 提前致谢。

找到了答案,感谢Merlyn!

在我的Global.asax文件中,我忘了注释掉处理代理和处理我的上下文对象的两行。 代码如下:

void Application_BeginRequest(object sender, EventArgs e)
{
  var context = new AssignmentEntities();
  context.Configuration.ProxyCreationEnabled = false;
  HttpContext.Current.Items["_context"] = context;
}

void Application_EndRequest(object sender, EventArgs e)
{
  var context = HttpContext.Current.Items["_context"] as AssignmentEntities;
  if (context != null)
  {
    context.Dispose();
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM