2017-10-13 80 views
1

在我的laravel應用程序中,我想讓用戶有機會以Word文檔的形式下載其存儲數據的副本。我發現只能使用C#/ .NET完成某些部分。C#.NET與PHP/Laravel之間的通信

對於這一點,我寫了旁邊一個叫​​返回FileInfo設置輸出文件的實際路徑方法的C#應用​​程序(這始終是laravel的storage文件夾內,這樣laravel具有對它的訪問)。我只需要路徑,一切都已經完成,並從此時開始,我可以管理我的laravel應用程序,以便爲用戶下載。

但是,問題是我該如何到達那裏?我不能忘記可能發生的錯誤並顯示它們(錯誤是(在我的C#應用​​程序中)由log4net在文件和控制檯中處理;所有輸出也是如此)。

我想跑分別exec使用shell_exec我的應用程序,但是,都只有返回結果爲零(null)(儘管被設置爲$outputexec),因此似乎並不合適。另外,我通常不希望循環(PHP/laravel內部)太多,因爲你使用了大量的計算能力,這對於這類任務來說是不必要的,也不希望讓用戶等待更多比方說5秒,在瀏覽器中什麼也看不到,但腳本在空白頁面內執行(顯然在執行過程中沒有內容)。

編輯:我也接近使用COM,最終沒有正常工作。

什麼是適當的方法呢?

回答

0

我在使用命名管道使用IPC(進程間通信)的同時,對Python + C#做了類似的操作。

編輯:URL已損壞。以前有人問過這個話題。 Interprocess Communication using Named Pipes in C# + PHP

+0

這看起來像一個開始。謝謝! – John

+0

作爲一種替代方法,您不能設置一個命名管道WCF服務並在PHP中使用它? –

+0

你說得對,那會更好,我不能相信我忘記了WCF。感謝您的評論! – Lucax