太原0元网站建设,微信短网址生成,品牌网络营销推广方案策划,做网站的公司叫什么问题在 System.EnterpriseServices 名称空间中实现了COM服务的相关类#xff0c;其中就提供事务支持。 你可以在你的方法上加上TransactionAttribute特性标记#xff0c;那个方法就支持事务了。 然后在那个方法中就可以用ContextUtil.SetComplete()和ContextUtil.SetAbort()方法分…在 System.EnterpriseServices 名称空间中实现了COM服务的相关类其中就提供事务支持。 你可以在你的方法上加上TransactionAttribute特性标记那个方法就支持事务了。 然后在那个方法中就可以用ContextUtil.SetComplete()和ContextUtil.SetAbort()方法分别表示事务的Commit和Rollback。 另外你还可以用AutoCompleteAttribute来标记一个支持事务的方法那样当方法正常结束时就会自动递交事务否则如果出现异常将自动取消事务。 要做到Web Service 事务 你可能需要使Web Service 实现两阶段提交 这样的话 可以在本地失败的时候 回滚 Web Service 操作 当然这样做你必须在事务和效率上作出取舍 如果只是简单的类原子操作 事务并非最佳选择 象你所提到的这个操作 如果只是单一的写本地和修改而不涉及批量操作的 可以在自己的本地事务中 把WebService修改操作放到最后一步去做。。。 WebServices 的事务使用的是 COM 的事务。 [WebMethod(TransactionOptionTransactionOption.Required)] [AutoComplete] public String TestCom(){ SqlConnection conn new SqlConnection(data source(local);initial catalogNorthwind;user idsa;passwordsa;); SqlCommand cmd new SqlCommand(); cmd.Connection conn; cmd.CommandText insert test select getDate(); ContextUtil.EnableCommit(); conn.Open(); cmd.ExecuteNonQuery(); //ContextUtil.SetAbort(); conn.Close(); conn.Dispose(); return 更新成功; }