0

我已经开发了 ac# 应用程序来从站点下载 zip 文件,当手动运行该应用程序时,它会正常工作并退出,但是当我在 Windows 中使用任务调度程序安排它自动运行时,它会引发 Web 客户端异常错误。请帮我解决这个问题

下载文件的代码部分是

WebClient wc = new WebClient();                
wc.DownloadFile(<site>, "feed.zip");
System.Diagnostics.ProcessStartInfo pinfo = new System.Diagnostics.ProcessStartInfo("extract.bat");
System.Diagnostics.Process process = new Process();
pinfo.CreateNoWindow = true;
pinfo.WorkingDirectory = Directory.GetCurrentDirectory();
process.StartInfo = pinfo;
process.Start();
process.WaitForExit();

批处理文件提取 zip 文件。

4

1 回答 1

0

我看到了这些可能的问题:

  • 如果您运行您的应用程序Directory.GetCurrentDirectory()可能会导致不同的路径。 Directory.GetCurrentDirectory()将设置为您的bin-folder,但在您的生产环境中,它可以指向每一个,具体取决于您的流程执行方式(例如:如果您在桌面上创建快捷方式,您还可以修改Start in-folder.
  • 如果您的当前目录配置错误,应用程序也将无法找到extract.bat.
  • 在调试时,您对输出文件夹拥有一些权限。但是,当您的应用程序作为批处理执行时,它会在不同的帐户下运行。此帐户是否有权写入您的输出文件夹?
  • 您正在访问的网站可能需要有效的帐户。您可能有一个有效的帐户。但是您的应用程序在生产中运行的帐户可能不是该网站的有效帐户。
  • 您可能在代理后面。也许您需要配置一些额外的设置才能通过该代理。在您的帐户中,这些设置是在 Internet Explorer 中配置的。也许生产帐户没有配置这些设置。
于 2013-05-02T15:20:37.237 回答