/**//// <summary>
/// 发送消息
/// </summary>
/// <param name="sendUserId"></param>
/// <param name="toUser">格式7FFA3AF2-E74B-4174-8403-5010C53E49A7|userName,7FFA3AF2-E74B-4174-8403-5010C53E49A7|userName</param>
/// <param name="content"></param>
/// <param name="sendedStatus">表示已送</param>
/// <returns></returns>
public static int sendMessage(string sendUserId, string toUser, string content, string sendedStatus)
{
int receiveCount = 0;
TransactionOptions transactionOption = new TransactionOptions();
//设置事务隔离级别
transactionOption.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
// 设置事务超时时间为60秒
transactionOption.Timeout = new TimeSpan(0, 0, 60);
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, transactionOption))
{
try
{
//在这里实现事务性工作
//发送消息
insertMessage(sendUserId, toUser, content, sendedStatus);
//在接收信息表中插入记录
receiveCount += insertReceiveMessage(userids[0], sendUserId, content, "0");
// 没有错误,提交事务
scope.Complete();
}
catch (Exception ex) {
throw new Exception("发送信息异常,原因:"+ex.Message);
}finally{
//释放资源
scope.Dispose();
}
}
return receiveCount;
}
分享到:
相关推荐
函数超时判断,可自定义超时时间,以毫秒为单位。 使用泛型,可设置输入、输出类型。 纯手工制作,不使用第三方插件,即下即用, 你还在为函数超时问题无从下手吗?下载,看源码!!!
分享一个简单的超时处理事例供大家参考;可以设置超时时间,超时就退出函数执行
.net C#线程超时的解决方案,使用的时候在被调线程入口调用一下这个方法就可以。更多详细代码见附件 Report.RegisterThread(Report.GetCurrentWin32ThreadID(),Thread.CurrentThread); #region 获取当取线程的...
C# 的一个超时类,内置一个正则的超时实现
提供一个c# socket连接池设计的例子,解决socket并发连接限制的问题,并且提供一种设置连接超时时间的方法,默认连接超时时间是不能设置的,提供了socket网络发送数据的接口.可用于pos小票打印机通讯。
c# 带超时的线程管理 Thread.cs ,支持线程队列,自动启动判断是否结束线程,线程队列批量启动与执行超时控制 Threadx.cs
.net C#线程超时的解决方案,使用的时候在被调线程入口调用一下这个方法就可以。更多详细代码见附件 Report.RegisterThread(Report.GetCurrentWin32ThreadID(),Thread.CurrentThread); #region 获取当取线程的...
主要介绍了C#分布式事务的超时处理,以实例形式较为详细的分析了C#分布式事务的超时处理相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
执行多条SQL语句对数据库进行操作,如果某个SQL语句执行中出错,那么要对之前的操作进行回滚,代码比较简单。
c#,事务
ManualResetEvent是一个超时等待的线程锁,如果...那么主线程的等待时间怎么设置都是不合理的. 我们的需要是:第二步接收一次,就告知主线程一次(我接收了数据,请把等待重置一下吧),很遗憾,ManualResetEvent不具有此功能。
c# 事务的写法一看就会写,菜鸟一看就会
本资源介绍了如果使用c#带参数的事务处理
通过TcpClient与服务器端进行连接,通过timeout来实现连接超时的功能!
c#事务原理 脏读 不可重复读 幻想 企业级的数据库每一秒钟都可能应付成千上万的并发访问,因而带来了并发控制的问题。由数据库理论可知,由于并发访问,在不可预料的时刻可能引发如下几个可以预料的问题:
c# 事务即同时实现两个修改c# 事务即同时实现两个修改c# 事务即同时实现两个修改
C# 文件系统事务工具包C# 文件系统事务工具包C# 文件系统事务工具包C# 文件系统事务工具包C# 文件系统事务工具包C# 文件系统事务工具包C# 文件系统事务工具包C# 文件系统事务工具包C# 文件系统事务工具包
主要介绍了C#中增加SQLite事务操作支持与使用方法,结合实例形式分析了C#中针对SQLite事务操作的添加及使用技巧,需要的朋友可以参考下
C#数据库事务原理及实践,C#数据库事务原理及实践