C# 未调用下载完成事件处理程序

C# 未调用下载完成事件处理程序,c#,webclient-download,C#,Webclient Download,我有一个C#代码,它不能完成这项工作。此代码应在下载完成后运行代码。但它不起作用 代码: 这是不起作用的代码 private void DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) { ZipFile.ExtractToDirectory("web/data/main/web.zip", "web/"); } 我试图在没有解压的情况下运行此代码,但它不起作用,因此我需要有关此代码的帮助。查看文档,它是同步

我有一个C#代码,它不能完成这项工作。此代码应在下载完成后运行代码。但它不起作用

代码:

这是不起作用的代码

private void DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
    ZipFile.ExtractToDirectory("web/data/main/web.zip", "web/");
}

我试图在没有解压的情况下运行此代码,但它不起作用,因此我需要有关此代码的帮助。

查看文档,它是同步的,因此不需要回调。试着只做:

using (var client = new WebClient())
{
    client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadFileCompleted);
    client.DownloadFile("https://www.apachelounge.com/download/VC15/binaries/httpd-2.4.29-Win64-VC15.zip", "web/data/main/web.zip");
    ZipFile.ExtractToDirectory("web/data/main/web.zip", "web/");
}

这就足够了。

定义“不起作用”。怎么搞的?错误?没有错误,只是完成后不运行此代码:private void DownloadFileCompleted(对象发送方,AsyncCompletedEventArgs e){ZipFile.ExtractToDirectory(“web/data/main/web.zip”,“web/”);}是否引发异常?如果尝试从命令行/文件管理器解压缩文件,会发生什么情况?或者仅仅是函数没有被调用?我是新来的
using (var client = new WebClient())
{
    client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(DownloadFileCompleted);
    client.DownloadFile("https://www.apachelounge.com/download/VC15/binaries/httpd-2.4.29-Win64-VC15.zip", "web/data/main/web.zip");
    ZipFile.ExtractToDirectory("web/data/main/web.zip", "web/");
}