嗨,这是一个非常简单的问题,但我怀疑这是一个复杂的答案:
这被称为“矿井场景”
让我解释一下:想象一个简单的场景,你必须制作一个可以 httppost 到网页的应用程序,即使在没有信号的矿井下也是如此。
即如果没有连接,我如何尝试/排队提交事件(HTTPPOST),然后定期轮询队列(测试是否存在连接)直到事件可以触发。
PS:请注意:请这是关于“如何”而不是关于“错误”的对话,回复:同步性或重复记录或覆盖来自 2 个用户的数据等。
伪代码:
try{
MyHttpFileUploader myupload = new MyHttpFileUploader();
myupload.Start();
}
catch (InternetDownException ex){ //<-- how do I "throw" this in the start method gracefully?
GlobalQueue.Add(myupload); //<-- how do i set a timer properly that can action this queue (.Start() method) and post messages "when complete" to toast on the main ui thread but otherwise not block the ui whatsoever
}