Csharp/C#教程:SqlConnection vs Sql Session。 他们的生命一致吗?分享


SqlConnection vs Sql Session。 他们的生命一致吗?

我想为我的c# app中的某些进程应用一些sql-session级别设置。

例如,我想将某些后台进程的DEADLOCK_PRIORITY设置为LOW

问题是:

  1. 如果我打开一个新的SQL连接,那会启动一个新的sql-session吗?

  2. sql-session会一直存在,直到连接关闭? 如果我在打开SqlConnection后立即应用我的设置,它们对于在同一个SqlConnection上下文中执行的所有查询是否有效?

  3. 连接池怎么样? 这可能是我的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

(0)
上一篇 2022年1月5日
下一篇 2022年1月5日

精彩推荐