在.NET中调用函数时是否可以设置超时值?我使用一个名为SharpBox的第三方组件,它循环一组Dropbox帐户,并将内容拉到服务器上的给定文件夹中。
Dim itemsDownload作为整数= pollSingleDropboxAccount(accountID)
function pollSingleDropboxAccount(accountID as integer) as integer
//Utilises Sharpbox to download the files and return the count
//In here a connection is established using the SharpBox.dll
//but never gets closed or throws an exception leaving the
//function to hang indefinitely
end functionSharpbox在幕后使用一个HTTPWebRequest与Dropbox联系,但似乎默认超时为无限,因此不能覆盖此值。我已经向SharpBox提交了一个特性请求,但是我正在寻找一些我们可以同时用作解决方法的东西。
为了避免这种情况,我想知道我们是否可以围绕对'pollSingleDropboxAccount‘函数的调用进行打包,以便在5分钟后放弃?
发布于 2013-02-25 10:50:15
是的,有可能。
1)在函数调用之后创建并运行计时器并启动它。
2)在计时器的回调中,做您需要的任何事情(调用您的函数)
在MSDN上阅读关于计时器的文章
编辑:注意到,.NET中至少有3种类型的计时器,它们的行为不同。其中一些会在超时后触发(在您的情况下,每5分钟一次),直到您对它们调用Stop,并且其中一些只执行一次。
https://stackoverflow.com/questions/15065158
复制相似问题