###EdgeJsは使わずにNode.jsの外部プログラム実行を利用する
前回はedgeJsには制約があり、ビルドでエラーが頻発することからコンソールアプリを使用することにしました。
コンソールアプリを使うなら、nodejsに元々ある外部プログラム実行を使えばいいのではないか?という結論に至りました。
####Node.jsの外部プログラムの実行
const { exec } = require('child_process');
const path = require("path");
let pathStr = path.join(__dirname, '../ConsoleApp1/bin/Debug/net5.0/ConsoleApp1')
let commendStr = pathStr + " args1 args2";
exec(commendStr, (error, stdout, stderr) => {
if (error) {
console.error(`[ERROR] ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
});
####NodeRedにも外部プログラム実行がある
nodeRedにも外部プログラム実行があるようなので、C#との連携ができると思います。
####使用用途
NodeRedからコンソールアプリにJsonを投げ実行します。C#内でSwitchやif文で分岐し、クラスや関数を呼び、結果をConsole.writelneで出力し、それをNode.js側で取得します。
NugetからDapperとDapperExtensionを使いSqliteの管理を楽にする。