c#后台工作人员暂停

c#后台工作人员暂停,c#,backgroundworker,C#,Backgroundworker,我有一个小型C#应用程序,它使用POST方法与服务器通信,并通过API请求获取一些数据。顺便说一下,这是一台Apache服务器 我的问题是,我的C#应用程序连续发送大量请求,服务器创建大量日志文件 我使用BackgroundWorker,我想暂停几秒钟,但Thread.Sleep(5000)不起作用 此应用程序正在系统托盘中运行,它没有GUI,只需获取一些内容并打印出来即可 代码: private void\u bgWorker\u DoWork(对象发送方,DoWorkEventArgs e)

我有一个小型C#应用程序,它使用POST方法与服务器通信,并通过API请求获取一些数据。顺便说一下,这是一台Apache服务器

我的问题是,我的C#应用程序连续发送大量请求,服务器创建大量日志文件

我使用BackgroundWorker,我想暂停几秒钟,但Thread.Sleep(5000)不起作用

此应用程序正在系统托盘中运行,它没有GUI,只需获取一些内容并打印出来即可

代码:

private void\u bgWorker\u DoWork(对象发送方,DoWorkEventArgs e)
{
JSONParser=newjsonparser(_config.Prop.server+“content/api.php”、“print”、“getAll”);
尝试
{
而(!\u bgWorker.CancellationPending)
{
尝试
{
JSONPrintNeeds=parser.DownloadAll();
列表温度=新列表();
foreach(jsonprintNeedin-needs.data)
{
临时添加(需要);
}
foreach(临时文件中的JSONPRINTREADE)
{
打印机=新打印机(需要.megrendes);
printer.PrintController=新标准PrintController();
已安装列表=新列表();
对于(int i=0;i
您可以对同步线程使用
EventWaitHandle

EventWaitHandle flag = new EventWaitHandle(false, EventResetMode.AutoReset); 
if (stop)
{
    flag.WaitOne(5000);
}

展开
Thread.Sleep(5000)
不工作
Thread.Sleep
不工作?你是如何下定决心的?你应该读一下[1]:
EventWaitHandle flag = new EventWaitHandle(false, EventResetMode.AutoReset); 
if (stop)
{
    flag.WaitOne(5000);
}