我已完成開發可執行桌面應用程序以基於傳入的參數生成分形圖像。輸出類型是JPEG。如何從ASP.NET MVC應用程序中調用可執行的桌面應用程序?
現在我正在ASP.NET MVC 3下開發一個站點。我想從我的站點中使用可執行文件。
是否可以按原樣使用它,而無需將其轉換爲類庫並重新編譯?
我已完成開發可執行桌面應用程序以基於傳入的參數生成分形圖像。輸出類型是JPEG。如何從ASP.NET MVC應用程序中調用可執行的桌面應用程序?
現在我正在ASP.NET MVC 3下開發一個站點。我想從我的站點中使用可執行文件。
是否可以按原樣使用它,而無需將其轉換爲類庫並重新編譯?
使用system.Diagonstics.Process類通過StartInfo對象調用exe來傳遞適當的參數。
如果你的意思是「在用戶的機器上運行」,那麼不是「原樣」 - 你可能想看看Silverlight的。
如果你的意思是「在服務器上使用」,那麼它當然取決於它是如何操作的(是否提示輸入等),以及它是如何工作的(例如,它是否使用GDI +建議用於Web服務器)。
但肯定;您可以外殼一個exe與Process.Start
,或者如果它是一個.NET exe文件,你可以直接添加到exe文件的引用,並用它作爲一個庫(如果有合適的代碼)
還有一種方式通過AppDomain.ExecuteAssembly
在進程中運行它 - 不確定後者是否是Web服務器上的一個好主意,但是...尤其是如果該exe會與stdout
對話。
爲了讓圖像回到客戶端,您需要在使用來自MVC的return File(...);
來模擬圖像流的路由中發生(可能與高速緩存)此處理。
是的,但是這隻在最終根本沒有人登錄的服務器上執行。 – 2011-02-18 11:51:07
您可以在服務器上下文中執行一個exe文件。這隻會成爲您需要訪問服務器用戶無法訪問的資源的問題。如果是這種情況,那麼最好的辦法就是去掉普通的類並從dll中提起訴訟。 – Kell 2011-02-18 14:48:44