1

我试图了解如何确保仅在提交事务时才将日志条目输入到文件系统中。请看下面的代码。

Using (scope As TransactionScope = new TransactionScope()) 
    'write log log file (line 2)'
    scope.complete 
End Using

在事务范围完成之前写入日志文件的时刻。

我已经阅读了有关IEnlistmentNotification界面的信息。我知道SQLConnection该类允许事务和分布式事务。因此,我希望这个类能够实现IEnlistmentNotification,但事实并非如此。为什么不呢?

4

1 回答 1

2

IEnlistmentNotification资源管理器使用它来参与事务,但它不是由 SQL 连接或事务实现的。

如果您实现自己的事务资源管理器,您将实现该接口并使用其中一种事务登记方法 EnlistDurableEnlistVolatile通知系统您要参与此事务。从此时起,您将收到对允许您对事务状态做出反应并影响事务状态的接口的调用。

如果您想以事务方式修改文件,您必须为此实施或找到资源管理器。该资源管理器将IEnlistmentNotification通过上述登记方法实施和参与事务。

于 2013-01-27T20:48:44.637 回答