Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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#/.net/EF/MVC5站点上的间歇性500序列化错误吗?_C#_.net_Entity Framework_Azure_Azure Web App Service - Fatal编程技术网

知道什么会导致c#/.net/EF/MVC5站点上的间歇性500序列化错误吗?

知道什么会导致c#/.net/EF/MVC5站点上的间歇性500序列化错误吗?,c#,.net,entity-framework,azure,azure-web-app-service,C#,.net,Entity Framework,Azure,Azure Web App Service,我有一个Azure web app.NET(4.6.1)/c#/MVC5/EF/Newtonsoft.JSON(6.0.4),它可以正常运行一周,然后突然出现500个错误,对所有人都不可用。重新启动和/或回收站点会使站点恢复活力。我正在努力寻找根本原因。我看到一些线程表明,不及时地回收应用程序池可能导致这种行为。但是,在IIS中,站点被配置为从不回收(空闲超时=0,回收计划设置为0)。有没有人经历过这种情况或有什么建议 下面是错误的详细描述: {“Message”:“发生了错误”。,“Excep

我有一个Azure web app.NET(4.6.1)/c#/MVC5/EF/Newtonsoft.JSON(6.0.4),它可以正常运行一周,然后突然出现500个错误,对所有人都不可用。重新启动和/或回收站点会使站点恢复活力。我正在努力寻找根本原因。我看到一些线程表明,不及时地回收应用程序池可能导致这种行为。但是,在IIS中,站点被配置为从不回收(空闲超时=0,回收计划设置为0)。有没有人经历过这种情况或有什么建议

下面是错误的详细描述:

{“Message”:“发生了错误”。,“ExceptionMessage”:“ObjectContent`1”类型未能序列化内容类型“application/json;charset=utf-8”的响应正文。”,“ExceptionType”:“System.InvalidOperationException”,“StackTrace”:null,“InnerException”:{“Message”:“发生了错误”。,“ExceptionMessage”:”:“从“Weaver.TruckScaleMgmt.Common.Models.TruckLoad.”上的“IsCompleted”获取值时出错”,“ExceptionType”:“Newtonsoft.Json.JsonSerializationException”,“StackTrace”:“at Newtonsoft.Json.Serialization.DynamicValue Provider.GetValue(对象目标)\r\n at Newtonsoft.Json.Serialization.jsonSerializationPrinternalWriter.CalculatePropertyValues”(JsonWriter编写器,对象值,JsonContainerContract合同,JsonProperty成员,JsonProperty属性,JsonContract&memberContract,对象&memberValue)\r\n位于Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializationObject(JsonWriter编写器,对象值,JsonObjectContract合约,JsonProperty成员,JsonContainerContract collectionContract,JsonProperty containerProperty)\r\n位于Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.serializationValue(JsonWriter编写器,对象值,JsonContract valueContract,JsonProperty成员,JsonContainerContract containerContract,JsonProperty containerProperty)\r\n位于Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter JsonWriter,对象值,类型objectType)\r\n位于Newtonsoft.Json.JsonSerializer.serializer\n(JsonWriter JsonWriter,对象值,类型objectType)\r\n位于System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStream(类型,对象值,流writeStream,编码有效编码)\r\n位于System.Net.Http.Formatting.JsonMediaTypeFormatter.WriteToStream(类型,对象值,流writeStream writeStream,编码有效编码)\r\n位于System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStream(类型、对象值、流writeStream、HttpContent内容)\r\n位于System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStreamAsync(类型类型、对象值、流writeStream、HttpContent内容、TransportContext TransportContext、CancellationToken CancellationToken)\r\n--从引发异常的上一个位置开始的堆栈结束跟踪---\r\n在System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务任务)\r\n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n在System.Web.Http.WebHost.HttpControllerHandler.d_u1b.MoveNext(),“InnerException:{“消息”:“发生错误”,“ExceptionMessage:”对象引用未设置为对象的实例。“,“ExceptionType:”System.NullReferenceException“,“StackTrace:”在c:\Users\wh741\Source\Repos\Scalehouse\Weaver.TruckScaleMgmt.Common\Models\TruckLoad.cs中的Weaver.TruckScaleMgmt.Common.Models.TruckLoad.c.b\u71\u0(TruckLoadQuality t):在System.Linq.Enumerable.WhereListIterator`1.MoveNext()\r\n处的System.Collections.Generic.List`1..(IEnumerable`1集合)\r\n在C:\Users\wh741\source\Repos\Scalehouse\Weaver.TruckScaleMgmt.Common\Models\TruckLoad.UpdateCompletedRequirements()中的Weaver.TruckScaleMgmt.Common\Models\Repos\Scalehouse\Weaver.TruckLoad.cs:Weaver.truckscalemg.Common.Models\r\n第223行在C:\Users\wh741\Source\Repos\Scalehouse\Weaver.TruckScaleMgmt.Common\Models\TruckLoad.cs中:GetIsCompleted(Object)处的第335行\r\n Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(Object target)“}}

。 .

更新:

我已经能够重现这个问题,并且相信这是一个布尔变量序列化的问题。我还没有修复它,但我相信我知道根本原因。我之前发布的代码与根本原因无关

更新2:


好的。我已经解决了这个问题。一个蓝月发生一次的案例在linq查询中的字段中留下了一个空值。但是,我不知道为什么这会使该应用程序对所有人都不可用。一个实例使该应用程序对所有人都无效……

我已经解决了这个问题。一个蓝月发生一次的案例留下了一个空值linq查询中的字段中的空值。但是,我不知道为什么这会使应用程序对所有人都不可用。一个实例使应用程序对所有人都无效…

那么
IsCompleted
UpdateCompletedRequirements()中会发生什么
?这里有一个NRE。它在下面的quality.where语句中失败。但是,我认为这是一个症状。它99%的时间都工作正常。您希望从控制器方法中得到什么类型的输出?输出似乎没有序列化为json。这就是错误所在。所以下一个问题是:
质量是什么您得到了NRE?显然您希望
QualityField
始终不为空?请尝试预测明显的问题,否则这将是一个漫长的一天。对不起……这是新的。我添加了定义和填充。QualityField不应为空。