gpt4 book ai didi

c# - SqlConnection 与 Sql session 。他们的一生重合吗?

转载 作者:可可西里 更新时间:2023-11-01 08:28:52 30 4
gpt4 key购买 nike

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

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

问题是:

  1. 如果我打开一个新的 sql 连接,是否会启动一个新的 sql session ?

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

  3. 连接池怎么样?这是否可能是因为 SqlConnection 并未实际关闭( < strong>asp.net 连接池决定重用它)。

谢谢!

最佳答案

ADO.NET 在您从池中获取 SqlConnection 时执行 sp_reset_connection(在关闭它以便返回到池之后)。根据What does "exec sp_reset_connection" mean in Sql Server Profiler?所有 SET 选项正在重置。这将包括 DEADLOCK_PRIORITY

我仍然建议您编写一个小测试程序来确认这一点。 ADO.NET session 池并不完美,例如它不会重置 ISOLATION LEVEL 并且在关闭时不会回滚事务。

关于c# - SqlConnection 与 Sql session 。他们的一生重合吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16613242/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com