c# async 事物

news/2024/7/3 4:02:57

上菜

async await 机制 确实便捷开发   多线程时 如何一致性如何保证呢?

public async Task<ActionResult<IEnumerable<string>>>  Get()
        {
            using (var trans = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                try
                {
                    Console.WriteLine("1:id----" + Thread.CurrentThread.ManagedThreadId.ToString());
                    await TaskAsync("my001");
                    Console.WriteLine("2:id----" + Thread.CurrentThread.ManagedThreadId.ToString());
                    await TaskAsync("my002my002my002my002my002my002my002my002my002my002my002my002my002my002my002my002my002my002my002my002my002my002my002");
                    Console.WriteLine("3:id----" + Thread.CurrentThread.ManagedThreadId.ToString());
                    trans.Complete();
                }
                catch (Exception ex)
                {
                    Console.WriteLine("wowo-- ex:" + ex.ToString());
                }

               
            }

            return new string[] { "value1", "value2" };
        }
public async Task TaskAsync(string name)
        {
            using (var db = new SqlConnection("Data Source=.;Initial Catalog=qyy;Uid=sa;Pwd=123456;"))
            {
                Console.WriteLine("4:id-- " + name + "--" + Thread.CurrentThread.ManagedThreadId.ToString());
                await db.OpenAsync();
                await db.ExecuteAsync($@"
                                INSERT INTO [dbo].[a]
                                       ([name])
                                 VALUES
                                       ('{name}')
                        ");
                Console.WriteLine("5:id-- " + name + "--" + Thread.CurrentThread.ManagedThreadId.ToString());
            }
        }

 注:name 字段 varchar(50) 

好了 事物妥妥的执行 未出现任何 异常数据

转载于:https://www.cnblogs.com/codedreams/p/9299148.html


http://www.niftyadmin.cn/n/1441000.html

相关文章

WebRTC网关服务器单端口方案实现

标准WebRTC连接建立流程这里描述的是Trickle ICE过程&#xff0c;并且省略了通话发起与接受的信令部分。流程如下&#xff1a;1&#xff09; WebRTC A通过Signal Server转发SDP OFFER到WebRTC B。WebRTC B做完本地处理以后&#xff0c;通过 Signal Server转发SDP ANSWER到A。2&…

基数排序如何实现

文章目录基数排序简介实现原理基本解法&#xff1a;举例&#xff1a;java代码基数排序 简介 基数排序&#xff08;radix sort&#xff09;属于“分配式排序”&#xff08;distribution sort&#xff09;&#xff0c;又称“桶子法”&#xff08;bucket sort&#xff09;或bin …

(三) 创建Hello-Service提供者 - Spring Cloud复习笔记

&#xff08;三&#xff09; 创建Hello-Service提供者 - Spring Cloud学习笔记 1、核心技术选型&#xff1a; Maven&#xff1a;3.3.9  JDK&#xff1a; 1.8.0_144  spring-boot-starter-parent&#xff1a; 2.0.3.RELEASE  spring-cloud-dependencies&#xff1a; Finch…

从Alexa网站排名,看IT门户走势(转)

经常有人拿 Alexa 网站提供的全球网站排名服务&#xff0c;与《财富》的世界 500 强企业排名及《福布斯》全球富豪排名等相提并论&#xff0c;称其为第三方全球排名权威机构。 Alexa 网站所提供的关于网站的动态数据、流量信息、质量分析等高质量服务&#xff0c;再加上与 goog…

掌握react,这一篇就够了

react众所周知的前端3大主流框架之一&#xff0c;由于出色的性能&#xff0c;完善的周边设施风头一时无两。本文就带大家一起掌握react。 jsx语法 前端MVVM主流框架都有一套自己的模板处理方法&#xff0c;react则使用它独特的jsx语法。在组件中插入html类似的语法&#xff0c;…

对象与类的简介

文章目录前言类对象前言 面向对象程序设计&#xff08;简称OOP&#xff09;是当今主流的程序设计范型&#xff0c;它已经取代了20世纪70年代的“结构化”过程化程序设计开发技术。Java是完全面向对象的&#xff0c;必须熟悉OOP才能够编写Java程序。 面向对象的程序是由对象组…

Nginx 基本介绍

同类产品 同类竞争产品&#xff0c;Apache&#xff0c;Tomcat&#xff0c;IIS等。 Tomcat面向Java。 IIS只能在Windows上运行。 Apache有很多优点&#xff0c;稳定&#xff0c;开源&#xff0c;跨平台。但是它比较重&#xff0c;而且不支持高并发。 Nginx是轻量级&#xff0c;高…

Win Server2003常见问题及解决然方案(转)

随着windows server 2003的上市在即&#xff0c;很多人可以用上的泄漏的版本&#xff0c;相对于工作站系统&#xff0c;服务器在由于做了更多的内核优化&#xff0c;所以在稳定性和安全性方面有很大的提高。但是&#xff0c;很多人并不是需要Server的全部功能的&#xff0c;而且…