Web Api Get方法返回HTTP / 1.1 500内部服务器错误

时间:2016-03-28 04:18:20

标签: c# asp.net json entity-framework asp.net-web-api

我使用实体创建控制器。我的项目中有一些severel模型,对于上下文中的每个模型,“Get method”都可以正常工作,但是这个模型和其他模型一样,并没有。

这是一个简单的代码:

copyFlavor

我用fidler测试过,这是消息:

  

{“Message”:“发生错误。”,“ExceptionMessage”:“'ObjectContent`1'类型无法序列化内容类型'application / json; charset = utf-8'的响应正文。” ,“ExceptionType”:“System.InvalidOperationException”,“StackTrace”:null,“InnerException”:{“Message”:“发生了错误。”,“ExceptionMessage”:“使用类型'System.Data检测到自引用循环。 Entity.DynamicProxies.Proizvodi_B322A16527536C491FCFE47A9DC60617BBB3A2AAF1FABD41D99F924F0D8FE589'.Path'[0] .JediniceMjere.Proizvodi'。“,”ExceptionType“:”Newtonsoft.Json.JsonSerializationException“,...

我知道有同样的问题,我正在寻找答案,但找不到。实体freimwork是否存在问题,序列化问题或其他问题。 ??

也许这个帮助:当我从数据库中删除此模型/类的所有记录“Proizvodi”时,我得到“HTTP / 1.1 200 OK”。

1 个答案:

答案 0 :(得分:1)

将以下内容添加到

Global.asax

HttpConfiguration config = GlobalConfiguration.Configuration;
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;