【问题标题】:Scheduling C# app throughts Webclient exception通过 Webclient 异常调度 C# 应用程序
【发布时间】:2013-05-02 14:57:38
【问题描述】:

我开发了一个 c# 应用程序来从站点下载 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 文件。

【问题讨论】:

  • 但是异常/调用堆栈是什么?显示一些代码怎么样?
  • 抛出的异常是“在webclient请求期间发生错误”
  • 发布异常,一些代码是可能的。

标签: c# webclient scheduling


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    • 2020-04-27
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多