在我們的團隊中,我們面臨着選擇:我們需要調用外部第三方代碼並處理來自C#代碼的輸出。哪種方法更好:Process.Start或直接調用DLL?
第三方代碼有兩種形式:一組dll
s和一個exe
文件(可能自己調用這些dll
s)。可能的方法可能是:使用Process.Start
語句來運行可執行文件並捕獲其輸出。另一個是直接撥打dll
。
我想了解我們應該使用哪種方法。
一方面調用可執行文件很簡單,但另一方面 - 它感覺不健壯。
一方面呼籲dll
看起來做的工作更正確的方式,但另一方面 - 這可能是非常複雜的任務提供C#
因爲我們有本地C
代碼的所有功能結合。
但是我需要對此主題進行更實質性的分析才能做出最終決定。以前有沒有人面對同樣的問題,也許你可以分享你的發現。
這將是非常有用的!
編輯:我在說這個特殊情況下的視頻轉換。我需要從用戶獲取視頻流並將其轉換爲所有視頻格式。可以撥打ffmpeg
來完成這項工作,並且一切正常,直到出現問題,我需要重新啓動編碼或採取任何行動。我不能估計需要多長時間,如果我需要並行轉換幾個視頻ffmpeg
將不會那麼靈活,因爲我計劃它是...
至少我現在看到它。也許更多的問題會出現,因爲我深入研究。
你需要提供更多的細節...和:你有什麼嘗試?你做了什麼測試?是否有任何依賴關係(如COM或USB /驅動程序或權限等)?有不穩定嗎?您需要哪種級別的控制/粒度/性能? – Yahia