【边界切面和方法拦截学习,C#事务和线程安全】教程文章相关的互联网学习教程文章

c# – 从Bing Web Search API中检索剩余的事务

我正在使用Bing Web Search API的Windows窗体,我想显示我本月剩余的剩余交易.最好的方法是什么?我应该使用WebRequest来执行此操作吗?如果是这样的话? Here is a picture of the Bing Transaction number I’m trying to get and display on my windows form project解决方法:据我所知,没有这样的API.您可以从Marketplace的“帐户”页面查看剩余的交易.登录并单击“我的帐户”,然后选择“我的数据”.您将看到您订阅的所有数据以及...

c# – 如何跨一组并行任务共享事务【代码】

我有一个TransactionScope对象,我想将它用于使用Parallel.ForEach创建的所有任务,我该如何实现? 我想并行写入消息队列,20-50条消息,消息队列是事务性的:using (var queue = new MessageQueue(_exportEndpoint)){var label = string.Format("{0} ComponentId - {1}", DateTime.Now.ToUniversalTime(), componentId);queue.Send(contents, label, MessageQueueTransactionType.Automatic);_log.WriteInfo("ExportToQueue: Message ...

c# – 嵌套事务回滚虽然TransactionScopeOption.Suppress【代码】

我想回滚一个名为“scope”的事务,但是名为scope2的内部事务不应该回滚.但他们都回滚了! TransactionScopeOption.Suppress选项不起作用…… 我已经启用了DTC,我正在使用Visual Studio 2010和.net 4.0以及Microsoft SQl Server 2008.这里有什么问题?using (SqlConnection conn = new SqlConnection(@"Data Source=.\DEVELOPER;Initial Catalog=TestDatenbank;Integrated Security=sspi")){using (TransactionScope scope = new Tr...

c# – 长时间运行的Entity Framework事务

当用户打开某个实体的编辑表单时,我想锁定该实体并让她进行任何更改.在编辑过程中,她需要确保没有其他人对其进行任何编辑操作. 如何在实体框架(C#)4,数据库MS SQL Server 2008中锁定实体? 非常感谢你提前!解决方法:有两种方法可以处理这些情况: >乐观并发,允许并发编辑和插入,并在违反并发规则的情况下捕获异常.乐观并发通过保护相同项的插入的唯一约束以及保护对同一项的并发更新的时间戳/行版本列来实施.如果当前用户进行更改...

c# – 需要帮助才能使用事务范围【代码】

我正在为应用程序中的死锁进行分析和预防措施,在那里我找到了以下代码行的事务范围:var tranaction = new TransactionOptions { IsolationLevel = IsolationLevel.ReadUncommitted };// TransactionScopeOption.Required changed to Suppress for 2 tier issue with MSDTC using (var transactionScope = new TransactionScope(TransactionScopeOption.Suppress, tranaction)) {//Select entity command. }我们只有一些select实体...

c# – 对象上下文,存储库和事务【代码】

我想知道在实体框架中使用转换的最佳方法是什么. 说我有三个存储库:Repo1(ObjectContext context)Repo2(ObjectContext context)Repo3(ObjectContext context)以及获取三个存储库的服务对象:Service(Repo1 repo1,Repo2 repo2, Repo3 repo3)Serive.CreateNewObject <- calls repo1, repo2, repo3 to do stuff.因此,当我创建服务时,我先创建三个存储库并将它们传递下来,每个存储库都会获取一个对象上下文,因此我的代码看起来像这样:...

c# – 如何在不同的上下文中使用事务?【代码】

在我的应用程序中,我有这样的方法:public static bool DoLargeOperation() {bool res = true;res = res && DoFirstSubOperation();res = res && DoSecondSubOperation();res = res && DoThirdSubOperation();return res; }每个内部方法如下所示:public static bool DoFirstSubOperation() {using (var context = new EntityFrameworkContext()){// data modification.context.SaveChanges();} }例如,DoFirstSubOperation()和DoSe...

c# – 具有单个和多个SaveChanges()调用的Entity Framework(6)事务之间的区别是什么【代码】

我想知道在这三种方式之间在同一数据库上下文中执行事务的实际差异是什么: 1)使用一个SaveChanges()进行多个操作,而不显式使用sql事务using (TestDbContext db = new TestDbContext()) {// first operation// second operationdb.SaveChanges(); }2)使用sql事务,使用一个SaveChanges()进行多个操作using (TestDbContext db = new TestDbContext()) using (DbContextTransaction trans = db.Database.BeginTransaction()) {// oper...

C# Dapper 基本使用 增删改查事务等【代码】

1 using DapperTest.Models;2 using System.Collections.Generic;3 using System.Web.Http;4 using Dapper;5 using System.Data;6 using System.Data.SqlClient;7 using System.Linq;8 using System.Configuration;9 10 namespace DapperTest.Controllers11 {12 public class HomeController : ApiController13 {14 #region 查询15 16 /// <summary>17 /// 查询所有数据18 /// </summar...

C# 连接 Oracle数据库增删改查,事务

一. 前情提要 一般.NET环境连接Oracle数据库,是通过 TNS/SQL.NET 配置文件,而 TNS 必须要 Oracle 客户端(如果连接的是服务器的数据库,本地还要装一个 client ,还要把 TNS 文件放进去安装路径里面) 1. Using System.Data.OracleClient 微软自带的,据说已经不维护了,总之是需要客户端的。 2. Oracle.DataAccess.dll 一般在 Oracle 安装目录下 product\11.2.0\dbhome_1\ODP.NET\bin\2.x 里面。但是我碰到的问题就是:Oracle.D...

使用C#中的Entity Framework,Mysql和LINQ向SQL提交事务并回滚【代码】

我的问题是,事务处理无法正常进行,如果事务处理期间发生异常,则不应保存一个表的数据 当所有表正确时,仅保存数据. 考虑以下:databaseEntites objEntites = null; using (objEntites = new databaseEntites()) {objEntites.Connection.Open(); using (System.Data.Common.DbTransaction transaction = objEntites.Connection.BeginTransaction()){try{ customer objcust=new customer(); objcust.id=id; objcust.name="tes...

c#-在事务内部插入SqlBulkCopy会阻止对表进行任何其他写操作【代码】

在我的Web应用程序中,用户可以一次插入大量数据,以提高性能,我正在使用SqlBulkCopy类.对于单个操作插入到两个不同的表中,它将运行多次.如果用户取消操作或操作失败,那么我需要回滚数据,以便使用隔离级别快照将所有内容包装在事务中. 据我了解,使用快照隔离将允许其他用户同时对表进行写/读.但是,在进行一次数据上传时,它将阻止对表的任何其他写入,直到整个父事务完成为止. 这是一些显示该问题的简化代码.我排除了许多功能,但想法仍...

在C#循环中调用SQL存储过程时处理事务【代码】

我正在开发一个已经由其他开发人员开发的系统.并且在该系统中,他们调用了一个存储过程,该过程用于在C#中以循环方式在不使用用户定义表类型的情况下在循环中插入记录. 我需要做的就是在这种情况下添加一个事务.但是问题是我不知道交易地点. 我想知道是否在C#代码中使循环翘曲或在存储过程中进行了扭曲.解决方法:您只能在C#循环中使用它.在过程内部启动的事务必须在过程退出之前提交. SQL Server在运行过程之前和之后检查@@TRANCOUNT...

c# – 远离数据库实现事务有哪些缺点?

我们知道有些场景需要我们在代码中实现事务,例如.Net框架中的SqlTransaction / TransactionScope.问题是: >有什么开销(除此之外)速度)?>如果我们添加更多,它会变得更糟吗?交易和之间的层次DB?如果是,那么什么是开销和导致这些的原因管理费用?解决方法:我们希望保持交易简短,尽可能晚地开始交易,并尽早结束交易.否则并发会受到伤害,我们正在获得更多的锁等待和死锁.

c# – SQL事务报告/状态【代码】

我一直在寻找一种方法来获取有关已完成的SQL事务的信息.由于我使用C#连接到数据库,因此我想知道在特定事务期间有多少记录被更新,插入或删除.有没有办法做到这一点? 提前致谢解决方法:ExecuteNonQuery()返回受影响的行数.SqlCommand command = new SqlCommand(queryString, connection);command.Connection.Open();int rowsAffected = command.ExecuteNonQuery();如果您想要多个记录,即删除,插入,更新等记录的总数.您必须使用OUTPU...