37

C# アプリケーションと Node.js アプリケーションがあります。C# アプリケーションのボタンを押して、3 つの引数を Node.js アプリケーション/関数に入力として送信したいと考えています。これは可能ですか?

編集:両方のアプリケーションが同じマシンで実行されます。C# アプリケーションは、Node.js アプリケーションに 3 つの引数を提供します。Node.js アプリケーションは、Web サービス (POST) にクエリを実行し、XML データを受け取り、そのデータを操作します。そのタスクを C# でも実行できることはわかっていますが、この場合は Node.js でなければなりません。

編集#2と解決策:今、私は選択しました:4. Your node process runs a socket server and your C# app does requests over tcp.

うまくいくと思われる解決策も提供します:

これで、C# アプリケーションから Node.js サーバーにデータを送信する準備が整いました。

4

2 に答える 2

46

はい、あなたの質問のコメントで何人かが指摘しているように、コミュニケーションは可能です。

これらは(一部の)オプションです:

  1. ノード プロセスは http サーバーを実行し、C# アプリは http を介して JSON Rest 要求を実行します。
  2. node プロセスはnode-soap / strong-soapモジュールを使用して SOAP Web サービスを実行します
  3. C# アプリはノード アプリを起動し、ノード プロセスの入力ストリームに書き込み、その出力ストリームを読み取ることで IPC を実行します。
  4. ノード プロセスはソケット サーバーを実行し、C# アプリは tcp 経由で要求を行います。
  5. Redis やメッセージ キューなどの 3 番目のプロセス/サーバーを使用する
  6. ファイルなどのデータを共有できるものなら何でも..

「ワイヤ」経由で送信する言語プロトコルを定義する必要がないため、最初のオプションを選択することをお勧めします。もう 1 つの理由は、Rest を C# と node.js で実行する方法に関するドキュメントがたくさんあることです。

C# のクライアント ライブラリとして、最新バージョンの .NET (4.5) を使用できない場合は、Restsharpをクライアント ライブラリとして検討することをお勧めします。最新バージョンを使用できる場合は、HttpClientを使用して Node.js restservice を呼び出します。ノードの場合は、Express を使用してください。

オプション 2 は、VS で Web サービスの適切なサポートが提供されているため、迅速に処理できる可能性があります。

于 2013-02-28T15:42:56.770 に答える