SqlConnection vs Sql Session。 他们的生命一致吗?
我想为我的c#
app中的某些进程应用一些sql-session级别设置。
例如,我想将某些后台进程的DEADLOCK_PRIORITY
设置为LOW
。
问题是:
-
如果我打开一个新的SQL连接,那会启动一个新的sql-session吗?
-
sql-session会一直存在,直到连接关闭? 如果我在打开
SqlConnection
后立即应用我的设置,它们对于在同一个SqlConnection
上下文中执行的所有查询是否有效? -
连接池怎么样? 这可能是我的
SET DEADLOCK_PRIORITY LOW
设置将被我的系统中的其他进程(我不想要)重用,因为SqlConnection
实际上没有关闭( asp.net连接池决定重用它)。
谢谢!
从池中获取SqlConnection
时,ADO.NET会执行sp_reset_connection
(在关闭它之后将其返回到池中)。 根据“exec sp_reset_connection”在Sql Server Profiler中的含义是什么? 正在重置所有SET
选项。 这将包括DEADLOCK_PRIORITY
。
我仍然建议你写一个很小的测试程序来证实这一点。 ADO.NET会话池并不完美,例如它不会重置ISOLATION LEVEL
并且在关闭时不会回滚事务。
上述就是C#学习教程:SqlConnection vs Sql Session。 他们的生命一致吗?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1020269.html