Ошибка вызова консольного приложения из веб-формы - PullRequest
0 голосов
/ 09 ноября 2011

Это связано с другим вопросом, который я задал:

ProcessStartInfo Несколько аргументов

Я получил эту работу без ошибок в журналах Windows при запуске из командной строки.По сути, я вызываю консольное приложение из веб-формы.Я передаю два строковых аргумента: тему письма и тело письма.Затем консольное приложение отправляет электронное письмо в папку удаления (на данный момент).

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);

Когда я вызываю консольное приложение из веб-формы, оно по-прежнему создает электронное письмо в папке удаления, но также генерирует два последовательныхошибки в журнале приложений Windows:

Ошибка 1:

Приложение: Mailer.exe Framework Версия: 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 Смещение ошибки: 0x00000000000000cacd Идентификатор ошибочного процесса: 0x1648Неправильное время запуска приложения: 0x01cc9f079d89d950 Неправильный путь приложения: C: \ VS2010 \ Mailer \ bin \ Release \ Mailer.exe Неправильный путь к модулю: C: \ Windows \ system32 \ KERNELBASE.dll Идентификатор отчета: dbf249c0-0afa-11e1-a04b-a4badb02debf

1 Ответ

0 голосов
/ 10 ноября 2011

Проблема возникла из-за того, что код моей консоли был заключен в:

if (args.Length >= 0)
{

}

При изменении на> = 1 больше ошибок не регистрировалось!

...