Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Entity framework 通过重新启动IIS清除的OptimisticConcurrencyException_Entity Framework_Entity Framework 6_Azure Application Insights - Fatal编程技术网

Entity framework 通过重新启动IIS清除的OptimisticConcurrencyException

Entity framework 通过重新启动IIS清除的OptimisticConcurrencyException,entity-framework,entity-framework-6,azure-application-insights,Entity Framework,Entity Framework 6,Azure Application Insights,我使用MVC和EntityFramework6.1开发一个web应用程序。我们通常有大约100个并发用户在两个IIS服务器之间进行负载平衡 在过去的两个月中,我们已经有两次有大量用户报告看到由OptimisticConcurrencyException(“Store update、insert或delete”语句影响意外数量的行(0)引起的错误。自加载实体后,实体可能已被修改或删除。有关理解和处理乐观并发异常的信息,请参阅。“) 根据Application Insights中的日志,我们可以在用

我使用MVC和EntityFramework6.1开发一个web应用程序。我们通常有大约100个并发用户在两个IIS服务器之间进行负载平衡

在过去的两个月中,我们已经有两次有大量用户报告看到由OptimisticConcurrencyException(“Store update、insert或delete”语句影响意外数量的行(0)引起的错误。自加载实体后,实体可能已被修改或删除。有关理解和处理乐观并发异常的信息,请参阅。“)

根据Application Insights中的日志,我们可以在用户报告问题期间看到此异常的许多实例,最高可达每分钟10个。这影响了许多用户,但只有一个负载平衡的Web服务器受到影响。受影响的一系列更新/删除操作

第一次发生这种情况时,我们能够通过在受影响的服务器上重新启动IIS来解决它。然后,在大约6周的时间里,我们没有看到任何异常发生,直到它突然再次发生。同样,重新启动IIS能够解决此问题

大多数看到此异常的人似乎在不同的环境中都能一致地看到它,并且可以通过更改他们的EF模型来修复它。我看到的似乎更多的是与服务器相关的问题。可能是适当时未清除的缓存


我可以采取哪些步骤来确定此问题的原因?我是否可以配置其他日志记录?

如果此问题实际上没有一致发生,我认为这些是实际的并发错误,因此您应该减少从检索数据(或将其附加到上下文)到将其保存回数据库之间的时间。@DevilSuichiro这些是web请求。每个请求持续不到一分钟,但问题持续数小时。如果数据过期,那是因为EF是从过时的缓存中提供数据的,而不是因为我们的应用程序已将其挂起太久。请求本身不是问题,而是将数据保留在其changetracker中的上下文。每个请求读取并使用一个上下文。