我有一个应用程序,我使用实体框架与MS SQL数据库进行交互。在其中,我使用块调用Dbcontext内部。我遇到的问题是,即使在处理了Dbcontext之后,SPID仍然处于睡眠状态,直到应用程序退出。如何移除这些悬挂的spid ?
您可能不想这样做,但这应该可以工作:
((SqlConnection)dbContext.Database.Connection).ClearAllPools();
如上所述,这会对应用程序(可能还有其他应用程序)的性能产生负面影响。也许真正的问题是,为什么要删除SPID?
您还可以将Pooling=false
添加到连接字符串中,这将完全阻止应用程序使用连接池。根据您的应用程序,这可能会或不会对性能产生很大的影响。