using System;
using System.ComponentModel ;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Reflection;
using Retriever.Interface;
namespace Retriever
{
class Program
{
static IRetriever cls;
static void Main(string[] args)
{
cls = new RetrieverMainClass();
BackgroundWorker bw = new BackgroundWorker();
bw.WorkerSupportsCancellation = true;
bw.DoWork += new DoWorkEventHandler(bw_DoWork);
bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
bw.RunWorkerAsync();
Console.WriteLine("Press ENTER to exit...");
Console.ReadLine();
bw.CancelAsync();
Thread.Sleep(5000);
}
static void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Cancelled )
cls.Suspend ();
}
static void bw_DoWork(object sender, DoWorkEventArgs e)
{
foreach (string s in cls.GetURLS())
Console.WriteLine(s);
}
}
}
Если нажать ENTER, то bw_RunWorkerCompleted не вызовется. Почему?