2020.11.24
デジタルエンジニアリンググループの宮﨑です。
最近、 IoT 関連の仕事で Node-RED をさわる機会が増えてきており、そんな中で Node-RED で外部の API を使用する機会がありました。
ところがその API は、C++ や .NET 系はサポートしているのですが、残念ながら Javascript は非対応の状態です。
なんとかして Node-RED とその API をつなぐ方法はないかと調べて見たところ、 Node.js と .NET をいい感じに結びつけてくれる Edge.js というライブラリがありましたので、今回はそれをご紹介します。
Node.js や Node-RED って何じゃい!?って方もいらっしゃるでしょうが、そこから説明しだすととても長くなってしまうので、またの機会にさせていただこうと思います。
この Edge.js ですが、 Javascript のオブジェクトを .NET 環境に投げたりその逆もできるので、うまく使いこなすと結構便利だったりしそうです。
私の開発環境が Windows なので、今回は Windows に絞って説明をさせていただきます。

※今回は、Edge-js をインストールするのですが、この記事の公開時点で Edge-js がサポートしている環境は以下の通りです。
npm を使って Edge-js をインストールします。
![]()
C# で Hello <文字列>を返す処理を作成し、 Javascript から引数 World を渡して C# 関数をコールします。

作成したスクリプトを実行してみましょう。

うまいこと、実行してくれましたね。
つぎは、C# の関数を外に出してみましょう。 .cs ファイルに C# のコードを書きます。

Javascript 側は、 .cs ファイルを指定して関数をコールします。


これもバッチリです。
さすがに C# のソースコードを公開したくないって場合もありますよね。
そんなときは C# 側で DLL を作成して、 JavaScript から参照します。
下記のコードをビルドして、 DLL を作成します。

この DLL を参照してコールする Javascript 。

これも、うまく実行できましたね。
ということで、 Node.js から C# を実行できました。
では、最後に、 Node-RED で C# を実行する方法のご紹介です。
Node-RED で Edge-js を使用するには、 setting.js に、 require(‘edge-js’) を追記する必要があります。

Node-RED では、 function ノードに Javascript のコードを書きます。


Node-RED で処理を書くのは、後々の管理が大変だったります。
処理の部分を C# などで書いてあげれば、管理の面でも拡張の面でもおすすめです。
Node-RED を使っているという方がいれば、ぜひ使ってみてください。

2026.07.21
Salesforceの設定・開発を自然言語で支援するAIエージェント「Blaze」と、SlackBotを活用した業務自動化を紹介します。AIは、日々の細かな作業をどこまで効率化できるのでしょうか。設定変更やデータ確認、商談分析、活動登録漏れの検知・入力など、サンビットで実際に構築・運用している仕組みを交えながら、AIに任せる業務と、人がより力を注ぐべき仕事について紹介します。
2026.07.13
『トイ・ストーリー』シリーズを、「必要とされなくなる不安」という視点から振り返ります。ウッディたちが向き合ってきた居場所の変化、役割の終わり、そしてデジタル時代におけるおもちゃの存在意義を通じて、現代を生きる私たちの不安にも重なるテーマを考えます。
2026.07.06
創業以来、多くの環境変化を乗り越えながら成長を続けてきたSUNBIT。これまでの歩みを振り返るとともに、リーマンショックやAI時代など大きな変化の中で事業を進化させてきた歴史をご紹介。変わらない「お客様の理想を中心に」という姿勢を大切にしながら、40周年、50周年に向けて目指す未来と、これからの取り組みについてお伝えします。
2026.06.29
5月に大分県のべっぷアリーナで開催された「第27回 全九州卓球選手権大会(ラージボールの部)」に出場した体験を紹介します。混合ダブルス100~119歳クラスに出場し、結果は1勝1敗で予選敗退となりましたが、昨年の初出場時と比べて落ち着いて試合に臨めたことで、自身の成長を実感できる大会となりました。試合を通じて感じた緊張との向き合い方や、長く競技を続けるための健康管理、ラージボール卓球の魅力についてもお伝えします。