是否可以取消linq2sql查询?就像我建立了需要一段时间才能运行的查询一样,我希望用户可以取消它。有人对此有什么好主意吗?
所以,根据Richard Szalay的评论:
最好的选择是在后台线程中运行查询,并在用户单击“取消”时简单地取消订阅容器对象的事件。
我想我同意这是目前一个不错的解决方法。我希望看到框架中已经存在一些异步查询功能,但在此之前,这将是必须要做的。
还没有开始实现这个(必须先完成其他一些事情),但有一种方法可以工作:
Interrupt
工作线程的方法,然后工作线程将获取ThreadInterruptedException
并停止等待查询线程完成。稍后我制作时可能会添加一些代码。但我们会看看结果有多漂亮:p