私は現在、ルーティングアプリケーションを構築するために私のマシンにローカルにOSRMをホストしています。アプリケーションが起動すると、テストクエリでbool ServiceAvailable
がチェックされ、アプリケーションが使用可能でローカルで実行されているかどうかが確認されます。私はこのbool
が偽を返すならば、OSRMアプリケーションを開始できるようにしたい。私は同様の問題を持つStackOverflow linkを見つけて実装しようとしましたが、アプリケーションは読み込まれません。現在のコードは次のとおりです。私のC#コード内からcmdコマンドを実行
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
要求エラーのためにコードが壊れてしまいます。
2番目の 'process.StartInfo.Arguments'の割り当てが最初のものを上書きします。' + = '(スペースを含む)を意味しましたか? –
あなたは 'process.Start()'を呼んでいません。プロセスは_configure_するだけですが、実行することはありません。 –
2つのコマンドを一度に実行しようとしているようですが、作業ディレクトリを "c:¥users/james/desktop/osrm/osrm-backend/osrm_release"に変更してからコマンドを "osrm – BugFinder