【发布时间】:2010-11-15 21:10:05
【问题描述】:
我们有一个有趣的设置,我们将 SqlTransactions 持久化到 Web 应用程序的应用程序内存中。我们正在考虑将我们的 Web 应用程序移动到 NLB 场景中,因此我们需要一种方法使这些事务不与单个机器的内存绑定。有什么办法可以做到这一点..我尝试序列化 SqlTransaction 和 SqlCommand,似乎都不起作用。我需要开始研究 System.Transactions 命名空间吗?
【问题讨论】:
-
我很好奇你为什么认为你可能需要这样做。
-
不能直接放到Application[]中而不序列化吗?
-
@quillbreaker:NLB 是网络负载平衡,因此每个 HTTP POST 可能会发送到场中的不同 Web 服务器。 Application 数组是每台机器特有的,因此序列化数据的想法是可以在机器之间移动。
-
为了更清楚,这就是我想做的事情:启动一个事务,在该事务中执行一些 sql。稍后(比如一两秒,但我所有现有的对象/连接都超出了范围),使用同一个事务对象(希望在某处序列化),执行并提交另一批 sql。可能的?不可能?
-
@steven:对。知道了。这将与我在尝试创建可序列化的 SqlDataAdapter 时遇到的相同 - SqlTransaction 是一个密封类。
标签: .net asp.net serialization ado.net