在 Windows 窗体窗口中,多个事件可以触发异步方法。此方法下载文件并缓存它。我的问题是我希望该方法执行一次。换句话说,我想防止文件被多次下载。
如果下载文件的方法被触发两次,我希望第二次调用等待文件(或等待第一个方法完成)。
有人知道如何实现这一目标吗?
更新:我只是想防止不必要的下载。在我的例子中,当客户端将鼠标悬停在 ListBox 中的某个项目上超过几毫秒时,我们开始下载。我们假设用户会点击并请求文件。可能发生的情况是用户将鼠标悬停在项目上一秒钟,然后单击。在这种情况下,两个下载开始。我正在寻找处理这种情况的最佳方法。
更新2::用户有可能将鼠标移到多个项目上。结果,将发生多次下载。我对这种情况并不是很严格,但现在如果我们遇到这种情况,我们不会放弃下载。该文件将被下载(文件通常在 50-100kb 左右),然后将被缓存。