syed muzakir Ответов: 1

Передача аргументов командной строки через ASP.NET веб-приложение C#


я пытаюсь запустить exe-файл в asp.net ниже приведен код веб-приложения

Процесс p = новый процесс();
п. Информацию.Имя Файла = @"E:\ConsoleApp1\ConsoleApp1\bin\Debug\ConsoleApp1.exe";
п. Информацию.Аргументы = "'"+ TDcon + "' '" + req + "' '" + DBName + "'";
п. Начать();

но я не получаю ожидаемого результата.
каков будет порядок в args для переданных выше аргументов?

Что я уже пробовал:

@"E:\ConsoleApp1\ConsoleApp1\bin\Debug\ConsoleApp1.exe";
п. Информацию.Аргументы = "'"+ TDcon + "' '" + req + "' '" + DBName + "'";

ZurdoDev

Что такое сообщение об ошибке? Что же происходит? Если вы запускаете этот код через веб-страницу, то путь должен существовать на веб-сервере, а веб-приложение должно иметь соответствующие разрешения (чего по умолчанию не будет).)

syed muzakir

никакой ошибки он просто проходит, ожидаемый результат-я должен получить письмо, которого не происходит

ZurdoDev

Вам придется его отладить. Как я уже сказал, убедитесь, что путь на сервере существует и что разрешения правильные.

Войдите на сервер, запустите непосредственно командную строку и посмотрите, что произойдет.

1 Ответов

Рейтинг:
2

Dave Kreskowiak

Во-первых, ваш ASP.NET код выполняется полностью на сервере, а не на клиенте.

Если вы ожидаете, что клиент будет запускать консольное приложение, этого никогда не произойдет. Безопасность не позволяет вам этого делать.

Теперь, если предполагается, что сервер запускает консольное приложение, то учетная запись ASPNET, под которой выполняется ваш код (по умолчанию), не будет иметь доступа ни к чему, кроме папки, из которой выполняется ваше веб-приложение. Это означает, что диск E: недоступен для вашего кода.

Если диск E: сопоставлен с общим сетевым ресурсом, это становится еще хуже. Учетная запись ASPNET вообще не будет иметь доступа к сетевым ресурсам, а следовательно, и ваш код.

Вы можете получить любые необработанные исключения, которые ваш код выбрасывает из EventVwr в журнале событий приложения.