抱歉,如果标题不太正确,我不能 100% 确定我在寻找什么。我有一些代码执行以下操作:public static ProcessData(){ AddNewData() GetAllData() BuildTSV(); Send();}它是一个 MVC Web 应用程序,ProcessData 是传递某种表单数据的 Ajax 调用。AddNewData 写入数据库,这是对执行基本插入的存储过程的简单调用。GetAllData 查询数据库,它是单个表上的简单 SELECT 语句。BuildTSV 使用数据库数据构造一个文件,然后将其发送到远程服务器。如果连续足够快地命中 BuildTSV,我会遇到文件锁定问题(而不是数据库)。BuildTSV 使用简单的 StreamWriter。我无法更改此工作流程,我想以某种方式汇集 AddNewData() 调用,然后仅在它们全部完成后才继续。线程?排队?阻止收集?如果文件被锁定,请稍等一下,然后重试?这对我来说是全新的,我正在努力理解 1001 种不同的方法。
1 回答
![?](http://img1.sycdn.imooc.com/54584cfb0001308402200220-100-100.jpg)
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
最后我创建了一个小服务来处理这个问题。
我将查询数据库并跟踪表中的行数。如果此值增加,我将选择所有数据并将其处理为平面文件,然后发送。它每隔几分钟运行一次并解决了我的所有问题。
我以此为起点,基本上转储了负责将数据提取到平面文件中然后发送的现有代码,以及一些添加的日志记录和服务停止时的电子邮件通知。
- 1 回答
- 0 关注
- 89 浏览
添加回答
举报
0/150
提交
取消