一个Web Service 自动事务的例子

转载 2007年10月08日 09:26:00

举一个在A和B账户间转账的例子,比较简单:

 

using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.EnterpriseServices;    //用于支持事务
using System.Data.SqlClient;         //用于数据库操作

[WebService(Namespace 
= "http://tempuri.org/")]
[WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
...
...{
    
public Service () ......{

        
//如果使用设计的组件,请取消注释以下行 
        
//InitializeComponent(); 
    }


    [WebMethod(TransactionOption 
= TransactionOption.RequiresNew)]
    
public string TransferMoneyFromAToB(int m)
    ...
...{
        
try
        ...
...{
            ContextUtil.EnableCommit();
            
this.TransferOutFromA(m);
            
this.TransferInToB(m);
            ContextUtil.SetComplete();
            
return "搞定!";
        }

        
catch (Exception e)
        ...
...{
            ContextUtil.SetAbort();
            
return "糟糕!"+e.Message;
        }

    }

    
private void TransferOutFromA(int num)
    ...
...{
        SqlConnection conn 
= new SqlConnection("server=.;database=Account;uid=sa;pwd=;");
        conn.Open();
        SqlCommand sc 
= new SqlCommand("update AccountTransfer set money=money-"+num+" where accountname='A'",conn);
        sc.ExecuteNonQuery();
        conn.Close();
        
//throw new Exception("机器出现故障,抱歉!");                        //*****************
    }

    
private void TransferInToB(int num)
    ...
...{
        SqlConnection conn 
= new SqlConnection("server=.;database=Account;uid=sa;pwd=;");
        conn.Open();
        SqlCommand sc 
= new SqlCommand("update AccountTransfer set money=money+"+num+" where accountname='B'",conn);
        sc.ExecuteNonQuery();
        conn.Close();
    }

}
 
 

spring中service调用service的事务控制

使用SPRING控制事务,SERVICE之间相互调用,如何进行事务控制
  • fkbush
  • fkbush
  • 2015年09月25日 09:46
  • 9621

springmvc + mybatise 一个service 处理处理多个mapper 事物不回滚

 问题出现情况: 声明式事物@Transactional 在一个service调用了两个不同mapper 先后update两个数据,人为模拟后一个mapper异常,发现第一个mapper会提...
  • u011567806
  • u011567806
  • 2016年04月19日 11:52
  • 2946

Web服务启动时自动加载Servlet,并执行service处理 监听处理

自动加载servlet,非常棒的方式 这个有什么作用呢? 自动加载我们的Servlet,之前我也是觉得这个东西,非常的简单嘛。自动加载就自动加载啦。有什么觉得可以理解的呢? 其实这里面的东西非常的...
  • u012881904
  • u012881904
  • 2016年05月14日 15:14
  • 4928

用 web Service 写的一个小例子

  • 2011年05月19日 18:15
  • 18.44MB
  • 下载

Mule ESB 学习笔记(11)Web Service Proxy(这里是一个可以正常运行的例子)

一、WebSevice Proxy 简介      WebService Proxy 是ESB中最常见的使用场景之一,即通过 ESB 直接转发 WebService Client 的 SOAP ...
  • toto1297488504
  • toto1297488504
  • 2013年09月30日 11:49
  • 1762

在Windows 8中使用web service的例子

  • 2014年08月31日 12:45
  • 260KB
  • 下载

web service 客户端java例子

  • 2013年07月24日 17:01
  • 39KB
  • 下载

android web service 例子源代码

  • 2014年07月24日 14:51
  • 478KB
  • 下载

Web Service例子

  • 2016年05月17日 11:27
  • 16.86MB
  • 下载

web service例子源码及应用程序

  • 2013年06月21日 14:11
  • 479KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个Web Service 自动事务的例子
举报原因:
原因补充:

(最多只允许输入30个字)