ASP.NET事务可以说是在.NET平台上事务实现方式最简单的一种,你仅仅需要一行代码即可。在aspx的页面声明中加一个额外的属性,即事务属性Transaction="Required",它有如下的值:Disabled(默认)、NotSupported、Supported、Required和RequiresNew,这些设置和COM+及企业级服务中的设置一样,典型的一个例子是如果你想在页面上下文中运行事务,那么要将其设置为Required。如果页面中包含有用户控件,那么这些控件也会包含到事务中,事务会存在于页面的每个地方。

代码示例:

页面声明Transaction="Required":

<%@ Page Transaction="Required"  Language="C#" AutoEventWireup="true"

CodeBehind="WebForm3.aspx.cs" Inherits="WebApplication4.WebForm3" %>

页面引用:using System.EnterpriseServices;。

然后,数据操作代码:

protected void Button1_Click(object sender, EventArgs e)

{

try

{

Work1();

Work2();

ContextUtil.SetComplete();   //提交事务

}

catch (System.Exception except)

{

ContextUtil.SetAbort();      //撤销事务

Response.Write(except.Message);

}

}

private void Work1()

{

string conString = "data source=127.0.0.1;database=codematic;user id=sa;

password=";

SqlConnection myConnection = new SqlConnection(conString);

string strSql = "Insert Into P_Category(CategoryId,Name)values('1',

'test1')";

SqlCommand myCommand = new SqlCommand(strSql, myConnection);

myConnection.Open();

int rows = myCommand.ExecuteNonQuery();

myConnection.Close();

}

private void Work2()

{

string conString = "data source=127.0.0.1;database=codematic;user id=sa;

password=";

SqlConnection myConnection = new SqlConnection(conString);

string strSql = "Insert Into P_Category(CategoryId,Name)values('2',

'test2')";

SqlCommand myCommand = new SqlCommand(strSql, myConnection);

myConnection.Open();

int rows = myCommand.ExecuteNonQuery();

myConnection.Close();

}

ContextUtil是用于获取 COM+ 上下文信息的首选类。由于此类的成员全部为static,因此在使用其成员之前不需要对此类进行实例化。

ASP.NET页面事务的优势和限制如下。

l  优势:实现简单,不需要额外的编码。

l限制:页面的所有代码都是同一个事务,这样的事务可能会很大,而也许我们需要的是分开的、小的事务实现在Web层

ASP.NET页面级别的事务相关推荐

  1. ASP.NET页面与IIS底层交互和工作原理详解 (二)

    第三回: 引言 Http 请求处理流程 和 Http Handler 介绍 这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler ...

  2. asp.net学习笔记异常处理001---.framework4.0中asp.net页面ValidateRequest=false 无效的问题

    在做牛腩新闻发布系统的时候,部分同学可能会遇到这样的情况: 从客户端(ContentPlaceHolder1_m_ContentPlaceHolder_ftbContent="<P&g ...

  3. FineUI秘密花园(四) — 页面级别的配置

    每一个使用FineUI控件的页面都必须包含一个PageManager控件,我们可以把PageManager控件看做页面级别的参数配置(相对于Web.config站点级别的参数配置). 页面级别的参数配 ...

  4. ASP.NET页面之间传递值的几种方式

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

  5. [转]ASP.NET页面生命周期描述

    ASP.NET页面生命周期描述 vigorID:Vigorcsdn 在以前写个一篇关于ASP.NET页面生命周期的草稿,最近又看了看ASP.NET,做个补充,看看页面初始过程到底是怎么样的 下面是AS ...

  6. ASP.NET页面错误处理

    ASP.NET页面错误处理 ASP.NET应用可以再代码中利用异常捕获来处理错误(try.catch)但是应用出现的所有错误,都用异常捕获来处理是一种不良的编程习惯.try.catch使用简单,但是过 ...

  7. ASP.NET页面动态添加js脚本

    有时我们需要生成自己的JavaScript代码并在运行时动态添加到页面,接下来我们来看一下如何将生成的JavaScript代码动态添加到ASP.NET页面. 为了添加脚本,要将自定义的脚本在一个字符串 ...

  8. ASP.NET页面缓存介绍

    尽管本文的作者写的很简单,但是相信通过这些文字,还是能对大家了解ASP.NET页面缓存有很大的帮助. 前几天遇到个问题,百思不得其解.后来查阅了一些资料心里才有了点思路.把自己遇到的问题记录下来希望能 ...

  9. 调整ViewState的位置,让你的asp.net页面对搜索引擎更友好

    在asp.net页面中经常会出现一些ViewState的html标记,也许某些时候你会禁用ViewState,但是某些情况下你不得不使用它--因为它的便捷性,但是由于在默认情况下,ViewState的 ...

最新文章

  1. Socket编程 - 网络基础知识
  2. Scan Chain的原理与实现(实践) - Compression Flow
  3. 异步asynctask
  4. 易语言单窗口单ip软件源码_梦幻西游怎样多开ip转金?十大攻略秘籍速来看
  5. java system sleep_详解Java中的sleep()和wait()的区别
  6. python创建和删除文件
  7. Memcache的 简介
  8. Android Studio connot resolve symbol XXX 无法解析的符号
  9. android x5内核 下载地址,X浏览器-X5内核版本
  10. Android10源码下载和编译(解锁/刷机)
  11. Windows安装Redis新手教程
  12. K8S搭建redis集群(2)使用redis-trib
  13. 需求工程规格说明、需求验证、需求管理
  14. 北大计算机研究生有多神仙,北大考研成绩公布,还上“热搜”,这都是些什么“神仙分数”?...
  15. 电脑通过二维码打开手机链接
  16. gem5 GPGPU-Sim 安装踩坑笔记
  17. CAD二次开发之LISP读取excel数据
  18. JVM老生代增长过快问题排查
  19. android 使用百度全景sdk出现的问题
  20. PHP连接.mdb文件

热门文章

  1. python get argument_Python-Web框架-get_argument方法
  2. 美国不要求计算机背景的学校,美国哪些院校计算机专业不需要CS背景
  3. PHP怎么输入表达式,PHP: 表达式 - Manual
  4. 1.17.Flink 并行度详解(Parallel)、TaskManager与Slot、Operator Level、Execution Environment Level、Client Level等
  5. Azkaban任务调度(使用带有依赖的任务调度)【mapreduce数据清洗,数据入hive库,kylin预编译、数据分析】
  6. Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数
  7. Mysqlbackup 8全备增量备份还原案例
  8. 书籍折页是什么效果_Word的书籍折页是什么 如何设置Word的书籍折页
  9. k8s查看pod的yaml文件_K8S系列学习,Pod实战那些事儿,有必要知道知道
  10. Flutter 基础Widgets Text()之TextStyle详解