dao*_*res 5 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<Customer>或List<Employee>在Northwind数据库),它工作得很好.随着时间的推移,我无法返回任何一个列表,只能抓住一个实体.现在,它已经到了一个点,我可以返回一个List<string>或List<int>,但不是一个List或任何实体的实例.当我尝试获取时List<AnyEntity>,响应为200/OK,但响应标头和正文是空的.
我尝试过使用调试器和Firefox的Web控制台.使用FF的WC,我只能得到一个"未定义"的状态代码.我不知道从哪里开始.
编辑:在尝试从数据库中抓取所有区域时,我这样做:
[WebGet(UriTemplate = "areas")]
public List<a1Areas> AllAreas()
{
return context.a1Areas.ToList();
}
Run Code Online (Sandbox Code Playgroud)
我将不胜感激调试此方法.提前致谢.
找到了答案,感谢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();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3117 次 |
| 最近记录: |