Проблема с вызовом исполняемого файла с веб-сайта ASP.NETC#

Место общения программистов C#
Ответить
Anonymous
 Проблема с вызовом исполняемого файла с веб-сайта ASP.NET

Сообщение Anonymous »

Я наблюдаю противоречивое поведение при вызове консольного приложения из веб-приложения ASP.NET и не могу понять, что я делаю неправильно.
Код C#, который я смоделировал на основе рабочего веб-приложения, созданного нашей командой, следующий:

Код: Выделить всё

System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName = HttpContext.Current.Server.MapPath(".") + "\\MyFolder\\MyProgram.exe";
psi.WorkingDirectory = HttpContext.Current.Server.MapPath(".") + "\\MyFolder";
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;

if (System.IO.File.Exists(psi.FileName)
&& System.IO.Directory.Exists(psi.WorkingDirectory))
{
try
{
using (System.Diagnostics.Process process = System.Diagnostics.Process.Start(psi))
{
// This launches the console app
}

Label1.Text = "Executable file at " + psi.FileName + " was called.";
}
catch (Exception ex)
{
Label1.Text = ex.ToString();
}
}
else
{
Label1.Text = psi.FileName + " was not found, or the directory " +
psi.WorkingDirectory + " does not exist.";
}
Консольное приложение с именем MyProgram.exe должно записать простой текстовый файл в папку с именем MyFolder.  Когда я запускаю это в Visual Studio в режиме отладки, это работает. Элемент управления asp:Label отображает сообщение о вызове исполняемого файла, во время выполнения исполняемого файла на короткое время появляется всплывающее окно, а текстовый файл появляется в MyFolder.
Но когда я публикую решение на веб-сервере и запускаю его там, это не удается.  Элемент управления asp:Label отображает сообщение о том, что исполняемый файл был вызван, указывая, что путь к MyFolder на сервере действителен и исполняемый файл существует, но всплывающее окно не появляется и текстовый файл не записывается, что позволяет предположить, что исполняемый файл никогда не запускается.
Веб-сервер тот же, на котором запускаются другие наши приложения с теми же настройками разрешений, включая некоторые веб-приложения, которые вызывают исполняемые файлы с использованием кода, аналогичного показанному коду C#. выше.  Я не могу понять, чем отличается моя ситуация.

Подробнее здесь: https://stackoverflow.com/questions/785 ... et-website
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»