Art*_*dod 12 c# sql sql-server asp.net connection-pooling
我想为我的c#应用程序中的某些进程应用一些sql-session级别设置.
例如,我想DEADLOCK_PRIORITY为一些后台进程设置LOW.
问题是:
如果我打开一个新的SQL连接,那会启动一个新的sql-session吗?
sql-session会一直存在,直到连接关闭?如果我在SqlConnection打开后立即应用我的设置,它们是否对在相同的情况下执行的所有查询有效SqlConnection?
连接池怎么样?这可能是我的SET DEADLOCK_PRIORITY LOW设置将被我的系统中的其他进程(我不想要)重用,因为SqlConnection实际上并没有关闭(asp.net连接池决定重用它).
谢谢!
当您从池中sp_reset_connection取出 a 时(在关闭它以便将其返回到池中之后), ADO.NET 就会执行。SqlConnection根据“exec sp_reset_connection”在 Sql Server Profiler 中意味着什么?所有SET选项都将被重置。这将包括DEADLOCK_PRIORITY.
我仍然建议您编写一个小测试程序来确认这一点。ADO.NET 会话池并不完美,例如它不会重置事务ISOLATION LEVEL,也不会在关闭时回滚事务。
| 归档时间: |
|
| 查看次数: |
2003 次 |
| 最近记录: |