C# NET中的应用程序崩溃和事务
假设我有一个处理转账的应用程序C# NET中的应用程序崩溃和事务,c#,.net,C#,.net,假设我有一个处理转账的应用程序 try { transaction.Commit(); } catch { transaction.Rollback(); } 现在,如果必须取消提交,并且由于某种原因程序在处理取消或回滚之前崩溃,会发生什么? 如何对应用程序进行编程,以使其能够抵御程序崩溃 编辑: 如果我没有SQL后端,而事务是我自己实现的呢?只有在提交成功后才能在数据库中实现数据持久化。因此,如果您的提交在任何位置失败,数据都不会写入数据库。您的设计很好(即使是非常简约的设
try {
transaction.Commit();
} catch {
transaction.Rollback();
}
现在,如果必须取消提交,并且由于某种原因程序在处理取消或回滚之前崩溃,会发生什么?
如何对应用程序进行编程,以使其能够抵御程序崩溃
编辑:
如果我没有SQL后端,而事务是我自己实现的呢?只有在提交成功后才能在数据库中实现数据持久化。因此,如果您的提交在任何位置失败,数据都不会写入数据库。您的设计很好(即使是非常简约的设计,没有实际的示例……) 您可以想象,一旦调用
var transaction=connection.BeginTransaction()代码>
如果不调用commit,事务将不会被提交,因此catch将回滚它
如果由于任何原因,崩溃阻止执行捕获块,SQL引擎将应用自动回滚。您的“假设”将使所有内容无效。。。如果您没有数据库,并且实现了一个名为carrot(或transaction,对我们来说不太清楚)的对象,那么您应该详细说明carrot类的功能、继承内容以及实现方式!!