0
コマンドライン引数に基づいてファイルを変換するネイティブEXEがあります。私は入力ファイルと出力ファイルの完全なパス名を与える方法を知っていますが、いくつかのボタンが押されたときにそのようなEXEをアプリケーションサービスから実行し、出力ファイルが作成されるまで待つことはできますか? DLLへの変換はオプションではありません。Azure App ServiceネイティブEXEを実行してファイルを変換する
コマンドライン引数に基づいてファイルを変換するネイティブEXEがあります。私は入力ファイルと出力ファイルの完全なパス名を与える方法を知っていますが、いくつかのボタンが押されたときにそのようなEXEをアプリケーションサービスから実行し、出力ファイルが作成されるまで待つことはできますか? DLLへの変換はオプションではありません。Azure App ServiceネイティブEXEを実行してファイルを変換する
私が知る限り、アズールアプリサービスでネイティブのexeを実行できます。
しかし、パラメータをネイティブのexeに直接渡すことはできませんでした。
ユーザが入力パラメータを入力するには、Webアプリケーションなどを記述する必要があります。
次に、Process.Start methodを使用してexeを実行できます。
このコードサンプルを参照する方法については、このコードサンプルを参照してください。
ASP.NET MVCを使用して入力パラメータを取得し、そのパラメータをEXEに送信して結果を取得します。
public ActionResult Index()
{
var proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = Server.MapPath("/exe/Sum.exe"),
//Arguments could be replaced
Arguments = "1 2",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};
proc.Start();
while (!proc.StandardOutput.EndOfStream)
{
string line = proc.StandardOutput.ReadLine();
// do something with line
Response.Write(" The result is : " + line);
}
//await getResultAsync();
return View();
}
結果:私に希望を与え
おかげで、。私はそれを試してみる。私が使用するEXEは、RTF用のRichEditコントロールなど、処理のためにいくつかの隠れたウィンドウとコントロールを作成します。それが主な理由でしたが、DLLで動作しませんでした。 Azureはそれを許可しませんが、他のWebホストは許可します。私はそのようなことがexeで許可されるのだろうかと思います。 – user173399
内部的に隠されたRichEditを使用し、したがってGDI +呼び出しを使用するため、EXEが実行されません。 Azure Sandboxでは、https://stackoverflow.com/questions/28293505/process-start-in-azure-websiteで許可されていません。しかし、とにかく私は元の質問にGDI +は言及していないので、私はあなたの答えを受け入れます。 – user173399