【发布时间】:2010-12-31 20:46:30
【问题描述】:
我在 asp.net mvc 应用程序中使用 LINQ to SQL。我通过 ajax 调用调用存储过程。
2-3 个用户的活动连接数达到 100 个活动连接数。然后发生服务器超时。
然后我使用 IOC -autofac 重新使用具有数据上下文的同一个存储库。现在,我在每个登录用户加一个的 SQL 服务器上获得了一个活动连接。 我以前从未见过。
- 为什么 Lin2sql 在不使用时不会断开连接?
- 在登录会话的 ajax 调用中调用存储过程会创建一个新的活动连接吗?
- 带有循环和/或等待的存储过程可以保持打开连接吗??
【问题讨论】:
-
需要添加一些代码。您没有在某处释放连接...
-
不是 LINQ 2 SQL 应该只在需要时打开连接,因为它是延迟加载的。即使在它被丢弃之前,它也会在不再需要时关闭连接??对吗??
-
这是不正确的。延迟加载与打开或关闭连接无关。
-
@Randy - 事实是 linq to sql 应该只在需要时打开然后关闭。不管这里的 .net 对象是否释放存储库类
标签: asp.net-mvc ajax linq-to-sql stored-procedures