C# IIS中服务器端下载的问题

C# IIS中服务器端下载的问题,c#,asp.net,http,iis,C#,Asp.net,Http,Iis,我正在创建一个服务器,将mp3文件下载到服务器主机(我使用Windows server 2019安装的笔记本电脑)上的本地文件夹,然后将该mp3文件发送到客户端。在VisualStudio中调试时,文件下载到服务器并发送到客户端。但是,在IIS上部署时,文件不会下载到服务器;如果我从一开始就将一个名称和类型相同的文件放在文件夹中(这样服务器就不必下载它),发送功能就可以工作(无论是部署的还是调试的)。我用来将mp3文件下载到服务器的包是wrapyoutubedl,它的实现代码如下:

我正在创建一个服务器,将mp3文件下载到服务器主机(我使用Windows server 2019安装的笔记本电脑)上的本地文件夹,然后将该mp3文件发送到客户端。在VisualStudio中调试时,文件下载到服务器并发送到客户端。但是,在IIS上部署时,文件不会下载到服务器;如果我从一开始就将一个名称和类型相同的文件放在文件夹中(这样服务器就不必下载它),发送功能就可以工作(无论是部署的还是调试的)。我用来将mp3文件下载到服务器的包是wrapyoutubedl,它的实现代码如下:

                var newFilename = selectedvideo.title;
                var mp3OutputFolder = @"C:/Users/Administrator/Desktop/lowdatayt/mp3s";
                var downloader = new AudioDownloader(urlToDownload, newFilename, mp3OutputFolder);
                downloader.ProgressDownload += downloader_ProgressDownload;
                downloader.FinishedDownload += downloader_FinishedDownload;
                downloader.Download();
在部署的iis上运行时生成的错误消息为:

找不到该文件,因为下载功能未下载该文件。不幸的是,这是给出的唯一错误。 另外请注意,我已将此文件夹的完全访问权限授予运行此文件夹的IIS应用程序池,因此权限不是问题所在


编辑:此线程解决了我的问题:

因此,如果我理解正确,您希望IIS在“部署到IIS”时能够访问目录
C:/Users/Administrator/Desktop/lowdatayt
?是;事实上,它是能够做到的。正如我所说的,当我发送给api的同名文件已经在下载文件夹中时,它可以访问该文件并将其发送给客户端(出于某种原因,这仅在通过localhost访问iis站点时有效,而不是通过其绑定的域名;下载既不能通过localhost也不能通过域进行)。解决此问题的最佳方法是使用Process monitor。请为IIS worker process name=w3wp.exe创建筛选器,并检查是否未找到文件或是否检测到访问冲突。它会告诉你哪里出了问题。此外,你是否检查过像IUSR这样经过身份验证的用户是否有访问该文件的权限。另外,您是否尝试将该文件加载到错误的服务器中?进程监视器非常有用,我将错误消息编译成一个简短的日志文件,其中只包含失败的进程。大量的访问违规,但我找不到缺少访问的确切原因;IUSR和应用程序池都具有访问权限。至于“放错了服务器”,我只有一台服务器。下面是日志文件:我向iusr和应用程序池标识添加了注册表权限,但它仍然会给出一组类似的错误(主要是读取子项,即使读取权限已明确分配)。你知道可能出了什么问题吗?