【问题标题】:Error Calling Console App from Web Form从 Web 窗体调用控制台应用程序时出错
【发布时间】:2011-11-09 18:02:31
【问题描述】:

这与我问的另一个问题有关:

ProcessStartInfo Multiple Arguments

从命令行运行时,我在 Windows 日志中没有任何错误。基本上,我从 Web 窗体调用控制台应用程序。我传递了两个字符串参数:一个电子邮件主题和一个电子邮件正文。然后控制台应用程序将电子邮件发送到投递文件夹(暂时)。

const string MAILER_FILEPATH = @"C:\VS2010\Mailer\bin\Debug\Mailer.exe";

ProcessStartInfo info = new ProcessStartInfo();

string arguments = String.Format(@"""{0}"" ""{1}""", 
    message.Subject.Replace(@"""", @""""""), 
    message.Body.Replace(@"""", @""""""));             
info.FileName = MAILER_FILEPATH;

Process process = Process.Start(info.FileName, arguments);
Process.Start(info);

当我从 Web 窗体调用控制台应用程序时,它仍然在投递文件夹中创建了电子邮件,但还在 Windows 应用程序日志中生成了两个连续错误:

错误 1:

应用程序:Mailer.exe 框架版本:v4.0.30319 描述: 由于未处理的异常,该进程被终止。例外 信息:System.IndexOutOfRangeException 堆栈:在 Mailer.Mailer.Main(System.String[])


错误 2:

错误应用程序名称:Mailer.exe,版本:1.0.0.0,时间戳: 0x4ebab7ad 错误模块名称:KERNELBASE.dll,版本: 6.1.7601.17651,时间戳:0x4e21213c 异常代码:0xe0434352 故障偏移量:0x000000000000cacd 故障进程 id:0x1648 故障 应用程序启动时间:0x01cc9f079d89d950 错误应用程序路径: C:\VS2010\Mailer\bin\Release\Mailer.exe 错误模块路径: C:\Windows\system32\KERNELBASE.dll 报告 ID: dbf249c0-0afa-11e1-a04b-a4badb02debf

【问题讨论】:

    标签: asp.net debugging console console-application


    【解决方案1】:

    这个问题是由我的控制台代码引起的:

    if (args.Length >= 0)
    {
    
    }
    

    通过将其更改为 >=1,不再记录错误!

    【讨论】:

      猜你喜欢
      • 2010-11-19
      • 1970-01-01
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多