program.cs

来自「C#高级编程第6版随书源代码 值得下载」· CS 代码 · 共 54 行

CS
54
字号
using System;
using System.Collections.Generic;
using System.Text;
using System.Transactions;
using System.Data.SqlClient;
using System.Threading;

namespace Wrox.ProCSharp.Transactions
{
    class Program
    {
        static void TxThread(object obj)
        {
            Thread.Sleep(3000);
            DependentTransaction tx = obj as DependentTransaction;
            Utilities.DisplayTransactionInformation("Dependent Transaction",
                tx.TransactionInformation);
            tx.Complete();

            Utilities.DisplayTransactionInformation("Dependent TX Complete",
                tx.TransactionInformation);
        }

        static void Main()
        {
            CommittableTransaction tx = new CommittableTransaction();
            Utilities.DisplayTransactionInformation("Root TX created", tx.TransactionInformation);

            try
            {
                new Thread(TxThread).Start(
                    tx.DependentClone(DependentCloneOption.BlockCommitUntilComplete));



                if (Utilities.AbortTx())
                {
                    throw new ApplicationException("transaction abort");
                }

                tx.Commit();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                tx.Rollback();
            }

            Utilities.DisplayTransactionInformation("Root TX finished", tx.TransactionInformation);
            
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?