获取当前.net TransactionScope IsolationLevel

2024-01-05

我有一个实用程序方法在我的应用程序中创建 TransactionScope。

我想做一个单元测试来验证返回的 TransactionScope 是否具有正确的 IsolationLevel 设置,以确保没有人可以在不破坏测试的情况下修改代码。

System.Transactions.Transaction 范围没有公开此类信息的公共属性。 (http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx)

有什么办法可以得到这些信息吗?


您可以运行 SQL 查询来检查隔离级别:

SELECT CASE transaction_isolation_level 
WHEN 0 THEN 'Unspecified' 
WHEN 1 THEN 'ReadUncomitted' 
WHEN 2 THEN 'Readcomitted' 
WHEN 3 THEN 'Repeatable' 
WHEN 4 THEN 'Serializable' 
WHEN 5 THEN 'Snapshot' END AS IsolationLevel 
FROM sys.dm_exec_sessions 
where session_id = @@SPID

EDIT

根据下面的评论,还有一种方法可以从代码中获取隔离级别。这可能是这样的:

using (TransactionScope scope = new TransactionScope())
{
    using (SqlConnection connection1 = new SqlConnection("Data Source=localhost;Integrated Security=True"))
    {
        Transaction trans = Transaction.Current;
        System.Transactions.IsolationLevel level = trans.IsolationLevel;
    }
}

您可以通过调用获取当前交易Transaction.Current.

Source: 使用事务范围实现隐式事务 http://msdn.microsoft.com/en-us/library/ms172152%28v=vs.85%29.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取当前.net TransactionScope IsolationLevel 的相关文章

随机推荐

  • 从 std::async 返回的 std::future 在超出范围时挂起

    我正在使用以下组合std async and std future from C 11 我用来对我在代码中执行的某个活动强制执行 time outmight我尝试连接到服务器时需要一些时间 代码如下 include
  • 当我在 PHP 中使用 session_regenerate_id(true) 时,session_destroy 会带来什么附加价值?

    我一直在阅读手册和网络上的各个页面 包括这里的很多问题 然而 我仍然无法理解这个概念session destroy 在 PHP 中与其他取消设置会话数据的方法结合使用 考虑这个网站从不注册会话变量之外的 SESSION超全局数组 sessi
  • 自动从 XML 模式创建 GUI

    我必须编写一个桌面应用程序来编辑 XML 文件中存储的数据 该格式由 XML 架构文件 xsd 定义 格式相当复杂 有没有可以自动生成基本GUI的工具 目前尚未决定使用哪种语言 我有使用 wxWidgets 的 Python 和 C 以及使
  • 为什么“npm run dev”不能在新的“npx create-next-app”上工作?

    我刚刚创建了一个新的 Next 应用程序npx create next app 看起来已经成功运行了 npx create next app 8 46 31 npx installed 1 in 8 826s What is your pr
  • 使用 LINQ 逐字读取文本文件

    我正在学习 LINQ 并且想使用 LINQ 逐字阅读文本文件 比如说电子书 这就是为什么我可以想出 static void Main string content File ReadAllLines text txt var query f
  • 处理 ASP.NET MVC 中的路由错误

    我知道如何设置自己的路由 但是如何处理路由表漏洞中的路由呢 我的意思是 我猜默认 controller action id 路线可能是一个通用的包罗万象的东西 但我不确定这是否是正确的方法 我喜欢让我的用户知道他们请求的数据 页面 不存在
  • 使用 JSONPath 过滤 JSON 文档中的属性

    我有一个任意定义的 JSON 文档 并且我希望能够应用JSONPath https goessner net articles JsonPath 类似于属性白名单过滤器的表达式 所有选定的节点和他们的祖先回到根节点保留 所有其他节点都被删除
  • MIPS 中的递归函数如何工作?

    我是 MIPS 的新手 因为我开始为大学学习 MIPS 汇编 并且在理解 MIPS 中的递归函数如何工作方面遇到了问题 例如 我有这个程序 用 C 语言 可以用 MIPS 编写 int fact int n if n lt 1 return
  • C# 9.0 记录 - ToString 不继承

    考虑 the ratioale for Wrapper is that it has a Json serializer that serialize through Field not included in this example r
  • 在 cpp 文件的匿名命名空间中使用模板函数是否正确?

    我想在 cpp 文件的匿名命名空间内有一个模板函数 纯粹作为不同大小的 std array 类型的辅助函数 此函数不得在该翻译单元之外的任何地方使用 令我惊讶的是 当我在 MSVC 14 1 简化代码 中尝试时 它立即生效 namespac
  • R中which.max函数的容差是多少?

    基于我在这里讨论的一个问题 https stackoverflow com a 57364028 2725773 https stackoverflow com a 57364028 2725773我想知道的公差 精度是多少which ma
  • Redux - 管理预加载状态

    我正在构建一个应用程序 我需要预加载people and planet data 将来可能会增加更多预载要求 在启动应用程序时 我希望在代表应用程序全局状态的商店中具有价值loaded
  • WebClient 下载文件显示错误的百分比

    我正在使用一个System Net WebClient在我的应用程序中异步下载文件 由于某种原因 在某些系统上 百分比计算错误 我的 更新的 DownloadProgressChanged 事件 WebClient client new W
  • unique_ptr::get() 而不是 &* 有什么用?

    我在用着unique ptr管理一些资源以便在任何情况下都能安全销毁 等等 void do something BLOB b unique ptr
  • 在Windows服务器中使用Word对象

    我有 asp net 应用程序 它有时会获取 Word 文档 编辑其中的一些数据并将其发送到电子邮件 虽然这在我有 microsoft word 的本地计算机上运行良好 但当我尝试在没有安装 microsoft word 的 Windows
  • 如何在 Java 中将 YAML 转换为 JSON?

    我只想使用 Java 将一个包含 yaml 的字符串转换为另一个包含相应转换后的 json 的字符串 例如假设我有这个yaml的内容 paper uuid 8a8cbf60 e067 11e3 8b68 0800200c9a66 name
  • Undertow上传多部分文件超过设置值时抛出RuntimeException

    我正在运行完整版本的 Spring boot 上传文件指南春季指南 https spring io guides gs uploading files 但我使用 Undertow 作为嵌入式 servlet 而不是默认的 Tomcat 它奏
  • 如何在php中创建html表格

    我有以下代码片段 基本上使用爆炸来拆分这些值 数据 prod txt PREFIX abc PART null FILE myprojects school out data feed abc 2010120810 gz2 PREFIX e
  • 在 O(n) 时间和 O(1) 额外空间内找到最大重复数

    在 O n 时间和 O 1 额外空间内找到最大重复数 出现次数最多的数 我认为我可以使用维护计数数组的计数排序阶段 然后可以在 O N 中完成 我对吗 但如何处理多余的空间 还有其他高效的算法吗 如果没有进一步了解数组中可能的数字 我认为这
  • 获取当前.net TransactionScope IsolationLevel

    我有一个实用程序方法在我的应用程序中创建 TransactionScope 我想做一个单元测试来验证返回的 TransactionScope 是否具有正确的 IsolationLevel 设置 以确保没有人可以在不破坏测试的情况下修改代码