📄 program.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Transactions;
using TheRM;
namespace RMUser
{
class Program
{
static void Main(string[] args)
{
YourRMInTSC();
YourRMInTSCWithRollBack();
TwoInstancesOfYourRM();
//YourRMWithOtherRM(); // Remember to setup DB before running this one.
}
static void YourRMInTSC()
{
Console.WriteLine("==========");
VolatileRM vrm = new VolatileRM("RM1");
Console.WriteLine("Member Value:" + vrm.MemberValue);
using (TransactionScope tsc = new TransactionScope())
{
vrm.MemberValue = 3;
tsc.Complete();
}
Console.WriteLine("Member Value:" + vrm.MemberValue);
}
static void YourRMInTSCWithRollBack()
{
Console.WriteLine("==========");
VolatileRM vrm = new VolatileRM("RM1");
Console.WriteLine("Member Value:" + vrm.MemberValue);
using (TransactionScope tsc = new TransactionScope())
{
vrm.MemberValue = 3;
// tsc.Complete(); // <-- Removed!!!
}
Console.WriteLine("Member Value:" + vrm.MemberValue);
}
static void TwoInstancesOfYourRM()
{
Console.WriteLine("==========");
VolatileRM vrm = new VolatileRM("RM1");
VolatileRM vrm2 = new VolatileRM("RM2");
Console.WriteLine("Member Value:" + vrm.MemberValue);
Console.WriteLine("Member Value:" + vrm2.MemberValue);
using (TransactionScope tsc = new TransactionScope())
{
vrm.MemberValue = 3;
vrm2.MemberValue = 4;
tsc.Complete();
}
Console.WriteLine("Member Value:" + vrm.MemberValue);
Console.WriteLine("Member Value:" + vrm2.MemberValue);
}
static void YourRMWithOtherRM()
{
Console.WriteLine("==========");
string connStr = "Data Source=(local);Initial Catalog=Test1;Integrated Security=SSPI;";
string cmdText = "Update FromTable Set Amount = Amount - 50";
VolatileRM vrm = new VolatileRM("RM1");
Console.WriteLine("Member Value:" + vrm.MemberValue);
using (TransactionScope tsc = new TransactionScope())
{
using (SqlConnection conn1 = new SqlConnection(connStr))
{
SqlCommand cmd1 = conn1.CreateCommand();
cmd1.CommandText = cmdText;
conn1.Open();
cmd1.ExecuteNonQuery();
}
vrm.MemberValue = 3;
tsc.Complete();
}
Console.WriteLine("Member Value:" + vrm.MemberValue);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -