使用交易编辑内容时,我觉得加载内容有些延迟, (测试这种情况对我来说有点困难,因为我不知道如何更好地测试它)
我对Transactions
使用有疑问:
我应该了解一些关于交易的小问题和事情 这些部分与这个问题有关:
我们何时应该在自己制作的CMS中使用交易?
我的具体案例说明:
我使用的交易策略:
添加产品方法(使用添加产品代码):
TransactionOptions txOptions = new TransactionOptions();
using (TransactionScope txScope = new TransactionScope
(TransactionScopeOption.Required, txOptions))
{
try
{
connection.Open();
command.ExecuteNonQuery();
LastInserted = (int)pInsertedID.Value;
txScope.Complete();
}
catch (Exception ex)
{
logErrors.Warn(ex.Message);
}
finally
{
command.Dispose();
connection.Close();
}
答案 0 :(得分:0)
事务可能有助于确保数据库的一致性。例如,如果用于添加产品的存储过程在多个表中插入数据,并且某些操作失败,则事务可能有助于回滚整个操作,因此数据库没有半生不熟的产品(例如在相关表格中缺少一些关键信息。)
事务范围(TransactionScope
)用于为代码块内运行的任何代码提供环境隐式事务。这些范围可能有助于严重简化代码,但是,它们也可能在多线程环境中增加复杂性(遗憾的是,我对这种情况并不是很了解)。
因此,您提供的代码可能有助于确保数据库的一致性,尤其是在命令使用多个表的情况下。它可能会增加一些性能开销;但是,在进行任何优化之前,最好依靠收集的分析数据而不是任何形式的感觉(即尝试收集一些关于事务处理速度较慢的定量数据)。现代数据库引擎通常非常有效地处理事务根据我自己的经验,由于性能开销,没有删除事务。