抱歉,如果标题不太正确,我不能 100% 确定我在寻找什么。
我有一些代码执行以下操作:
public static ProcessData()
{
AddNewData()
GetAllData()
BuildTSV();
Send();
}
它是一个 MVC Web 应用程序,ProcessData 是传递某种表单数据的 Ajax 调用。AddNewData 写入数据库,这是对执行基本插入的存储过程的简单调用。GetAllData 查询数据库,它是单个表上的简单 SELECT 语句。BuildTSV 使用数据库数据构造一个文件,然后将其发送到远程服务器。
如果连续足够快地命中 BuildTSV,我会遇到文件锁定问题(而不是数据库)。BuildTSV 使用简单的 StreamWriter。
我无法更改此工作流程,我想以某种方式汇集 AddNewData() 调用,然后仅在它们全部完成后才继续。
线程?排队?阻止收集?如果文件被锁定,请稍等一下,然后重试?
这对我来说是全新的,我正在努力理解 1001 种不同的方法。
蝴蝶刀刀
相关分类