Мне нужно вызвать консольное приложение для загрузки данных в другое настольное приложение на удаленном сервере, расположенном в корпоративном домене.
Пользователи зайдут на веб-страницу и загрузят данные на веб-сервер asp.net, который после преобразования должен вызвать это консольное приложение. Пользователи расположены удаленно и не имеют никакого другого доступа, кроме веб-сервера.
Я решил понизить контекст веб-приложения безопасности и позволить рабочему процессу asp.net запустить консольное приложение на текущем веб-сервере IIS 6.0
Что я сделал:
- Я изменил учетную запись безопасности для пула приложений для локальной системы;
- Я добавил учетную запись ASPNET и учетную запись процесса IIS IIS_WPG в группу администраторов;
- Я добавил «Разрешить службе взаимодействовать с desctop» для процессов «Служба администрирования IIS» и «Служба публикации в Интернете» и перезапустил компьютер;
Я пытался запустить BAT-файл на стороне сервера через код тестовой страницы, но не смог:
protected void btnStart_Click(object sender, EventArgs e)
{
Process process = new Process();
process.StartInfo.FileName = @”C:\run.bat”;
process.StartInfo.UseShellExecute = false;
process.Start();
process.WaitForExit();
}
Ошибка была access denied.
Пожалуйста, помогите мне найти любую подходящую идею, как запустить bat-файл на стороне веб-сервера.
Спасибо