Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# System.Web.Helpers.Json.Encode循环引用在服务器上,但不在本地计算机上_C#_Json - Fatal编程技术网

C# System.Web.Helpers.Json.Encode循环引用在服务器上,但不在本地计算机上

C# System.Web.Helpers.Json.Encode循环引用在服务器上,但不在本地计算机上,c#,json,C#,Json,我正在使用System.Web.Helpers.Json.Encode对EF表进行编码。问题是,在我的本地实例上——请记住,使用相同的数据库——表编码很好。 “{\'Symbols\':[],\'Medium\':null,\'Element2\':null,\'Element1\':null,\'Id\':82,\'Localized\':true,\'PostalCode\':null,\'State\':'AZ\',\'Category\':null}” 但是,当代码部署到服务器时,它会抛

我正在使用System.Web.Helpers.Json.Encode对EF表进行编码。问题是,在我的本地实例上——请记住,使用相同的数据库——表编码很好。 “{\'Symbols\':[],\'Medium\':null,\'Element2\':null,\'Element1\':null,\'Id\':82,\'Localized\':true,\'PostalCode\':null,\'State\':'AZ\',\'Category\':null}”

但是,当代码部署到服务器时,它会抛出一个循环引用错误。我认为这可能是服务器配置问题——复选框错误、库版本错误,或者类似的问题。在我深入研究之前,我只是想知道其他人是否遇到过这种情况,如果是的话,他们能为我指出正确的方向吗

代码本身并不复杂,一个简单的表有大约9个字段,其中4个是导航字段,在对象中为空。对象本身是动态类型

想法

我认为这可能是服务器配置问题——一个错误 复选框,错误的库版本,或类似的

不,你想错了。正如错误消息所述:您尝试JSON序列化的对象包含不受支持的循环引用

那么为什么它在本地起作用呢

可能是因为您在服务器上序列化的对象包含循环引用,其值与您在本地的值相反


为确保不会出现此类问题,请始终将专门设计的视图模式序列化为JSON。此视图模型将剪切所有圆形参照。

对象完全相同。我使用的是完全相同的数据库,对象表示完全相同的行。Define:“专门设计的视图模式”我认为它没有循环引用,因为实际上链接到其他表的导航字段在本例中为空。包含数据的字段是直接的数据字符串和整数。正如错误所述,您的对象图中存在循环依赖项,无法进行JSON序列化。也许如果你展示你的整个对象图,我们可以进一步分析问题并帮助你。这很奇怪。已经找了好几个小时了,在这个帖子的右边找到了这个。我想我知道你的意思了,现在也可以设计视图模式了。在序列化对象之前,是否将其从数据库中分离?有可能是nav属性在序列化时被延迟加载并导致循环引用。啊,这可能就是发生的情况。谢谢