我正在编写一个库,它将某些内容写入数据库以供临时使用(仅使用一次)然后被删除(它很奇怪,但是有一些必要的实现)。为此,我试图执行一个线程,将数据写入数据库,等待页面完成加载,然后释放完成执行,删除记录。我不知道如何评价这一点。一种方法是使线程休眠,但后来我冒着要么没有足够的时间或者在页面完成其他所有操作后线程可能仍在运行的风险。有没有办法把它绑定到页面线程,所以我可以在完成后立即释放我的线程?有什么东西,如果有的话,接近这样的事情?因为这是一个库,我宁愿不让另一个程序员在他的页面代码末尾调用一个函数来删除记录;它凌乱而容易被遗忘。
答案 0 :(得分:1)
除非您出于某些其他原因(即教育)使用线程,否则请考虑使用应用程序事件 - 您可以根据需要监听AcquireRequestState和ReleaseRequestState或类似对,并执行数据库操作。检查application lifecicle以查看所有事件及其顺序。
答案 1 :(得分:-1)
为什么要创建另一个线程?在Load事件中写入记录并在Unload事件中删除它。