私たちのチームでは、外部の第三者コードを呼び出して、C#コードの出力を処理する必要があります。どのアプローチが良いですか:Process.StartまたはDLLを直接呼び出しますか?
第三者コードは、dll
と、exe
というファイルの2種類があります(これらはおそらくdll
と呼ばれています)。また、可能なアプローチは、Process.Start
ステートメントを使用して実行可能ファイルを実行し、その出力をキャッチすることです。もう1つはdll
に直接電話することです。
どのアプローチを使用するのかを理解しようとしています。
実行可能ファイルを呼び出すことは簡単ですが、もう一方では堅牢ではありません。一方
dll
を呼び出すと仕事をするために、より適切な方法に見えますが、他に - 我々がネイティブC
コードを持っているすべての関数の結合C#
を提供するために、本当に複雑な作業かもしれません。
しかし、私は最終的な決定を下すために、このトピックについてより詳細な分析が必要です。誰かが前に同じ質問に直面したことがありますか、おそらくあなたの発見を分かち合うことができます。
非常に便利です!
EDIT:この特定のケースでは、ビデオの変換について話しています。私は、ユーザーからビデオストリームを取得し、すべてのための1つのビデオ形式に変換する必要があります。 ffmpeg
に電話をかけて、何かがうまくいかなくなるまですべてがOKで、エンコードを再開するか、何らかのアクションを取る必要があります。どのくらいの時間がかかるか見積もることができず、いくつかのビデオを並行して変換する必要がある場合は、ffmpeg
はそれほど柔軟性がありません。
少なくとも私は今それを見ています。
多くの詳細を提供する必要があります。何を試しましたか?何かテストしましたか? COMやUSB /ドライバ、パーミッションなどの依存関係はありますか?不安定さはありますか?どのレベルの制御/細分性/パフォーマンスが必要ですか? – Yahia