.net 是否可以进行仍允许只读请求的事务?
我现在有一个批处理过程,它可能需要一个小时才能运行。它不是数据库密集型的,只是它需要做很多事情,比如web调用 我有一个围绕整个事情的事务,所以如果出现任何问题,我将回滚 是否可以使此事务只阻止写入数据库而不是只读的请求?若否,原因为何?这只是数据库的自然限制吗.net 是否可以进行仍允许只读请求的事务?,.net,.net-4.0,transactions,transactionscope,.net,.net 4.0,Transactions,Transactionscope,我现在有一个批处理过程,它可能需要一个小时才能运行。它不是数据库密集型的,只是它需要做很多事情,比如web调用 我有一个围绕整个事情的事务,所以如果出现任何问题,我将回滚 是否可以使此事务只阻止写入数据库而不是只读的请求?若否,原因为何?这只是数据库的自然限制吗 我在.net 4.0中,正在使用TransactionScope执行此任务。不要这样做。加载到暂存表中。操作完成后,将其大容量传输到实际表中。通常,这样的操作根本不会成功;默认情况下,大多数资源管理器不会让事务持续那么长时间,如果他们这
我在.net 4.0中,正在使用
TransactionScope
执行此任务。不要这样做。加载到暂存表中。操作完成后,将其大容量传输到实际表中。通常,这样的操作根本不会成功;默认情况下,大多数资源管理器不会让事务持续那么长时间,如果他们这样做(如果涉及多个资源管理器),则根据正在更新/修改的数据量,提交事务的操作可能需要很长时间
如果您只是想在处理过程中阻止数据库访问,那么最好在数据库中设置一个标志,如果设置了该标志,那么应用程序中的其他功能就会失败
应用程序的范围可能会影响标记的存储位置;如果只有一个实例在运行,则可以将标志存储在内存中,但如果有多个实例,则可能每次都必须检查数据库。一个小时的事务?我理解对了吗?是的。。。期间无法访问数据库。这真的是个坏主意吗?这是个糟糕的主意。加载到暂存表中,然后将其大容量传输。