我有一个应用程序,它有助于使用 http 请求将文件上传到服务器。我正在使用 HttpSendRequestEx 和 HttpEndRequest 进行文件上传。它工作正常。并且上传是在一个单独的线程中执行的。其中要上传的文件会被一一处理。
现在一个新的要求是用户应该能够随时取消上传。由于上传是在一个线程内执行的,目前我对此没有任何控制权。
因此,作为一种解决方法,我所做的是,当用户单击取消上传的按钮时,以下 HINTERNET 句柄
hSession returned from InternetOpen
hConnect returned from InternetConnect
hRequest returned from HttpOpenRequest
已使用 InternetClosehandle 函数关闭。
由于这些句柄在线程内部使用,因此无法直接访问。所以我已经将它们声明为线程运行的类的静态成员。这样我可以在发生按钮单击时直接访问它。
通过这样做,正在处理的请求会立即被取消。但我不知道这是否是一个好方法。所以我想知道在进行这个逻辑时是否存在任何安全问题..
还有比这更好的选择吗......
请对此发表评论。期待专家对此的建议..
提前致谢