1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

C#とNode.jsを連携する 最終章

Last updated at Posted at 2021-10-21

###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の管理を楽にする。

Gtk3アプリ NodeRedとC#を連携する 入門編に続く

C#とNode.jsの連携例

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?