关于应用池回收的问题

最近发布.Net网站老是出现:

 

此 ObjectContext 实例已释放,不可再用于需要连接的操作。   在 System.Data.Objects.ObjectContext.EnsureConnection()
   在 System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
   在 System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
   在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)

当时并不知道是IIS线程池回收的问题,将代码重新梳理一遍,我将web项目在另一个新的服务器上重新部署了一遍,多次操作均未出现上述情况。我就考虑是否是IIS的问题,如果是IIS的问题,那就应该是应用线程池回收的问题了(ObjectContext 实例已释放,不可再用于需要连接的操作),果真,我打开IIS找到对应的应用线程池有6个程序在占用,随后将web项目重新选择一个其他未占用的应用线程池,再次并多次并发现上述的问题。

posted @ 2017-03-30 08:41  门外客  阅读(465)  评论(0编辑  收藏  举报