我正在创建一个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();
}
}
答案 0 :(得分:0)