自动事务

发布时间:2024-12-18 02:09

利用数字化工具自动跟踪和提醒财务事务。 #生活技巧# #财务管理技巧# #个人财务记录#

自动事务

最新推荐文章于 2023-07-09 01:00:33 发布

huguojunsy 于 2004-06-23 17:35:00 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

自动事务和 ASP.NET

在 ASP.NET 页中插入事务指令,您可以指示该页参与现有事务、开始新事务或永不参与事务。

下表列出并描述 ASP.NET 中可用的事务指令。

Disabled指示 ASP.NET 将忽略事务上下文。这是默认的事务状态。NotSupported指示该页不在事务范围内运行。处理请求后,不管是否有活动事务,均在没有事务的情况下创建其对象上下文。Supported指示该页在现有事务的上下文中运行。如果没有事务,则该页在没有事务的情况下运行。Required该页在现有事务的上下文中运行。如果没有事务,则该页将启动一个事务。RequiresNew指示该页需要事务且为每个请求启动新事务。

<%@ Page Transaction="Required" %>

自动事务和 XML Web services 

可使用 WebMethodAttribute 属性类的 TransactionOption 属性声明一个自动事务。

[ WebMethod(TransactionOption=TransactionOption.RequiresNew)]
     public int DeleteAuthor(string lastName) 
     {
       String deleteCmd = "DELETE FROM authors2 where au_lname='" + lastName + "'" ;

             SqlConnection sqlConn = new SqlConnection("Integrated Security=SSPI;database=pubs;server=myserver");
         SqlCommand myCommand = new SqlCommand(deleteCmd,sqlConn);

         myCommand.Connection.Open();
      return myCommand.ExecuteNonQuery();
     }

自动事务中的投票 

.NET Framework 类和 ASP.NET 页可以通过投票来提交或中止它们的当前事务。默认情况下,如果代码中没有显式投票,则默认为赞成提交。但默认提交可能会延长为每个事务释放昂贵资源所用的时间,从而可能降低应用程序的性能。

显式投票还允许类或页在遇到严重错误时中止事务。

使用自动完成

System.EnterpriseServices.AutoCompleteAttribute 使参与事务的对象投票赞成在方法正常返回时完成事务。如果方法调用引发异常,则中止事务。只能将此特性应用于从 ServicedComponent 类派生的类。

[Transaction(TransactionOption.Supported)]
public class Account : ServicedComponent {
    [AutoComplete]
    public void Debit(int amount) {
        // Do some database work. Any exception thrown here aborts the transaction;
        // otherwise, transaction commits.
    }
}

使用 SetAbort 和 SetComplete

可以使用公开 SetComplete 或 SetAbort 方法的 System.EnterpriseServices.ContextUtil 类来显式提交或中止事务。SetComplete 指示对象投票赞成提交其工作;SetAbort 指示对象遇到了问题且投票赞成中止正在进行的事务。直到事务的根对象停用,才提交或中止事务。此外,任何参与事务的对象中有一个中止投票,都将导致整个事务失败。

if( !DoSomeWork() )
{
  //Something goes wrong.
  ContextUtil.SetAbort();
}
else
{
  //All goes well.
  ContextUtil.SetComplete();
}

网址:自动事务 https://www.yuejiaxmz.com/news/view/505498

相关内容

家务。自动化
揭秘ChatGPT:如何轻松实现日常事务自动化代办?
「自动化服务」自动化服务公司黄页
Python自动化任务
脚本自动化任务
aProfiles自动任务app下载
财务流程自动化指南
任务自动化工具
【Linux自动化任务构建】
办公自动化主要任务

随便看看