【发布时间】:2016-02-09 10:04:29
【问题描述】:
我在 ASP.NET 4.5.1 中有一个 Web 服务 (Service.svc.cs)。
我有一种方法叫做 "public string UploadData(Guid id, string[] data)"
客户端使用字符串调用此方法,服务器将数据存储在 SQL-Server 数据库中,但不提交或回滚此 DbTransaction。
然后,同一个客户端应该(例如 5 秒后)调用其他两种方法之一: “提交数据(Guid id)”或 "RollbackData(Guid id)"
根据方法,服务器应该提交或回滚事务。如果客户端在 30 秒内没有调用,事务应该回滚。
我曾尝试在调用之间将事务存储在服务器的内存中,但事务已损坏。事务中的某些值,例如连接被重置为空。所以提交或回滚不起作用。
在 Web 服务调用之间保留 System.Data.Common.DbTransaction 的最佳方法是什么?
【问题讨论】:
-
您有很多客户,还是只有一个?
标签: c# asp.net web-services transactions