пакетный вызов через веб-сервис в .net - PullRequest
3 голосов
/ 27 сентября 2011

У меня есть пакетный скрипт, который принимает в качестве параметра источник изображения и выводит измененное изображение.Могу ли я разместить пакет на сервере и вызвать его с помощью веб-службы?

1 Ответ

3 голосов
/ 29 сентября 2011

Для начала, вот некоторая информация и указатели на различные альтернативы.Попробуйте их и посмотрите, какой из них более точно отвечает вашим требованиям и работает для вас.

Самое простое, просто вызовите Process.Start (), передав полную спецификацию файла в пакетный файл

Process.Start("c:\bats\test.bat")

Есливам нужно больше контроля, вы можете создать Process.StartInfo и передать его методу Process.Start.Я не тестировал этот код.

Process p= new Process();
p.StartInfo.WorkingDirectory = "C:\temp";
p.StartInfo.FileName = "c:\bats\test.bat";
p.StartInfo.Arguments =  "arguments";
p.StartInfo.CreateNoWindow = false;
p.Start();
p.WaitForExit();

Немного более запутанным способом является запуск CMD и отправка ему команд.См. Эту статью http://codebetter.com/brendantompkins/2004/05/13/run-a-bat-file-from-asp-net/ Однако это довольно грубое пакетное выполнение методом грубой силы, которое может работать не для всех файлов BAT (например, для тех, которые имеют команды FOR с переменными %%) и имеют некоторые побочные эффекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...