none
Запуск приложения на сервере из приложения ASP.NET RRS feed

  • Вопрос

  • Есть .cmd файл на сервере, надо его запустить из приложения ASP.NET. Как?

    Пытался:

    Shell("C:\inetpub\wwwroot\TeX01\Result\makepng.cmd")

    и

    Dim _Proc As New Process
    _Proc.StartInfo.FileName = "C:\inetpub\wwwroot\TeX01\Result\makepng.cmd"
    _Proc.StartInfo.WorkingDirectory = "C:\inetpub\wwwroot\TeX01\Result\"
    _Proc.StartInfo.Arguments = ""
    _Proc.Start()
    _Proc.WaitForExit()

    Все молчком и ничего не выполняется (makepng.cmd должен создавать лог файл, но не создает).

    Вроде чтото не так с правами процесса от имени которого запускается батник.

    Вопрос актуален для IIS6 и IIS7.

    Назначал пулу сервера приложения админа, для processstartinfo тоже - ноль реакции.

    Если указать имя несуществующего .cmd файла или неправильный путь, то вываливается сообщение, что файл не найден, иначе ничего не происходит...

    Следующий код батника создает каталог "testdir", но больше ничего не делает.

    mkdir testdir
    latex.exe --interaction=nonstopmode %1.tex
    dvips.exe -E %1.dvi -o %1.ps
    convert.exe -density 120 -trim -transparent "#FFFFFF" %1.ps %1.png

    4 января 2010 г. 14:55

Ответы

  • Должно работать, попробуйте добавить первой командой в cmd-файл какую-нибудь долгоиграющую команду типа find, затем запустите всё это дело и убедитесь, что в списке процессов нет cmd.exe, порождённого Вашем пулом. Я уверен, что Вы его там найдёте, а дальше разбирайтесь с Вашими командами - что-то скорее всего с ними не так.

    • Предложено в качестве ответа Alexander V. Vasilyev 11 января 2010 г. 1:46
    • Помечено в качестве ответа I.Vorontsov 14 января 2010 г. 8:14
    11 января 2010 г. 1:46