The ObjectContext instance has been disposed and can no longer be used for operations that require a connection
该对象上下文实例已被释放,不能用于需要连接的操作。
shared context per request模式,缩短Entity实例的存在时间和降低Entity实例的共享性,并考虑性能,因为Entity需要手动Dispose。
public override void Dispose() { string objectContextKey = "MIP_" + HttpContext.Current.GetHashCode().ToString("x"); if (HttpContext.Current.Items.Contains(objectContextKey)) { SPMIPEntities ctx = HttpContext.Current.Items[objectContextKey] as SPMIPEntities; if (ctx != null) { ctx.Dispose(); HttpContext.Current.Items.Remove(objectContextKey); } } base.Dispose(); }
不能使用单例模式,静态方法就可以。