这与我提出的另一个问题有关:
ProcessStartInfo Multiple Arguments
从命令行运行时,我在Windows日志中没有错误。基本上,我从Web窗体调用控制台应用程序。我传递了两个字符串参数:电子邮件主题和电子邮件正文。然后控制台应用程序将电子邮件发送到drop文件夹(暂时)。
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窗体调用控制台应用程序时,它仍然在drop文件夹中创建了电子邮件,但在Windows应用程序日志中也会生成两个连续错误:
错误1:
应用程序:Mailer.exe Framework版本:v4.0.30319描述: 由于未处理的异常,该过程终止。例外 信息:System.IndexOutOfRangeException Stack:at 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
答案 0 :(得分:0)
问题是由我的控制台代码括起来引起的:
if (args.Length >= 0)
{
}
通过将此更改为> = 1,不再记录错误!