/// 发送消息
///</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>
publicstaticint 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) {
thrownew Exception("发送信息异常,原因:"+ex.Message);
}finally{
//释放资源
scope.Dispose();
}
}
return receiveCount;
}
TransactionScope 分布式事务
最新推荐文章于 2023-10-23 11:25:43 发布
本文介绍了一种基于事务的消息发送机制实现方法。该方法通过使用.NET框架下的事务处理,确保了消息发送过程中的一致性和可靠性。具体实现了消息的发送、接收记录的插入,并通过设置事务的隔离级别和超时时间来增强系统的稳定性和安全性。
摘要由CSDN通过智能技术生成