自动事务中的投票

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

显式投票还允许类或页在遇到严重错误时中止事务。此外,可以通过在事务的早期捕获致命错误、结束事务及释放资源等手段来提高应用程序的性能。

使用 AutoComplete

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

若要使用此功能,请在类方法前插入此属性。如果将此属性添加到接口方法,则公共语言运行库将忽略它。有关如何使用 AutoComplete 属性的示例,请参阅如何:对事务识别类设置 AutoComplete 属性

使用 SetAbort 和 SetComplete

可以使用 System.EnterpriseServices.ContextUtil 类的静态 SetCompleteSetAbort 方法,分别显式提交和中止事务。SetComplete 方法指示对象投票赞成提交其工作;SetAbort 指示对象遇到了问题且投票赞成中止正在进行的事务。在事务的根对象停用之前,既不会提交也不会中止事务。此外,参与事务的任何对象中有一个中止投票,都将导致整个事务失败。有关如何使用 SetAbortSetComplete 方法的示例,请参阅如何:使用 SetAbort 和 SetComplete 方法

请参见

任务

如何:对事务识别类设置 AutoComplete 属性
如何:使用 SetAbort 和 SetComplete 方法

Footer image

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。