В настоящее время я размещаю на моей машине OSRM, чтобы создать приложение маршрутизации. Когда приложение запускается, bool ServiceAvailable
проверяется с помощью тестового запроса, чтобы узнать, доступно ли приложение и выполняется ли оно на месте. Я хочу, чтобы иметь возможность запустить приложение OSRM, если это bool
возвращает false. Я нашел StackOverflow link с аналогичной проблемой и попытался ее реализовать, но приложение не загружается. Вот мой текущий код:Выполнение команды cmd изнутри кода C#
private void StartOSRMService()
{
Process process = new Process();
process.StartInfo.WorkingDirectory = @"C:\";
process.StartInfo.UseShellExecute = false;
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c cd users/james/desktop/osrm/osrm-backend/osrm_release";
process.StartInfo.Arguments = "/c osrm-routed wales-latest.osrm";
}
Метод запущен, но служба никогда не запускается. В других методах мой код прерывается из-за ошибки запроса Http.Web
из-за отсутствия службы.
Второе задание 'process.StartInfo.Arguments' перезаписывает первое, вы имели в виду' + = '(с пробелом)? –
И вы не называете 'process.Start()'. Вы только _configure_ процесс, но никогда не запускаете его. –
похоже, что вы пытаетесь запустить 2 команды за один раз, почему бы не изменить рабочий каталог как «c: \ users/james/desktop/osrm/osrm-backend/osrm_release», а затем команда будет «osrm -routed wales-latest.osrm ", а не параметр – BugFinder