私はプロセスを開いて終了するまで待たなければならないWebアプリケーションを持っています。 このプロセスは、Cygwinを使用する.shスクリプトです。私は次のコードを使用していIISでC#プロセスを実行できません
:私はIISExpressを使用してアプリケーションを実行する場合
var process = new Process();
var string processFileLocation = @"C:\script.sh";
var string workingDirectoryLocation = @"C:\script";
var processInformation = new ProcessStartInfo(processFileLocation)
{
WorkingDirectory = workingDirectoryLocation,
UseShellExecute = true
};
process.StartInfo = processInformation;
process.Start();
process.WaitForExit();
を、すべてがスクリプトがcallseされている、正常に動作します。
私はIISにそれを追加すると、プロセスは単にブロックされる、私はプロセスを呼び出す必要があります要求からすべての答えを受けることはありません。
Webサイトが使用するアプリケーションプールの "フルコントロール"アクセス許可を追加しましたが、それでも差はありません。
なぜこのように振る舞っているのでしょうか?
無人設定で実行すると、スクリプトはプロンプトを生成して終了しません。 – GSerg
これは許可の問題ではないことを確認するために、管理者アカウントでアプリケーションプールを実行してみてください。 –
@KevinGosseありがとうございました。私はこれといくつかの闘争をしてきたし、あなたの答えはトリックでした。私はそれを "正しい"とマークすることができるように答えを投稿してください。 – CrazyDog