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

时间:2011-10-31 02:02:12

标签: c# asp.net wcf asp.net-web-api

我正在创建一个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();
  }
}

1 个答案:

答案 0 :(得分:0)

相关问题