我正在开发一个 Silverlight 应用程序,用户可以在其中创建、编辑、删除对象。他们所做的更改被放置在一个队列中,该队列每 4 分钟处理一次。处理后,更新通过异步 Web 方法调用发送,一次一个保存在 sql 数据库中。当第一次更新完成时,下一次更新开始。
当用户进行更改然后在 4 分钟计时器到期之前退出浏览器应用程序时,我遇到了问题。目前,更改正在丢失。
我建立在我之前从事此工作的人所做的工作的基础上,并探索了 Dispose 和 Finalize 方法,尝试在工厂关闭时启动更新过程,但由于 Web 服务调用的异步性质,这不起作用. 我收到错误消息,说需要的对象已被处理掉。
当用户尝试关闭或刷新网页时,我正在寻找一种使用 web 方法将数据保存在更新队列中的方法。我不希望队列中挤满了更新。这是一个通常一次运行几个小时的应用程序。