2014-04-26 134 views
4

我知道如何在C++ Builder/Delphi中創建網絡服務。但是,我不知道如何在我的網站上發佈它。我正在使用網絡託管服務,而不是我自己的個人網絡服務器。例如,如何在網站上發佈網絡服務

enter image description here

我通常使用的第一個選項「獨立VCL應用程序」。這個可以在網站上發佈嗎?無論如何,這些類型之間有什麼區別?

回答

9

獨立VCL和控制檯應用程序主要用於調試目的。您在開發服務時使用它們,因爲這種方法速度更快。您可以調試代碼並使用delphi附帶的WebApp調試器。

如果要在生產環境中部署,請使用ISAPI或CGI。 ISAPI是一個由Apache或IIS加載的DLL(最常見,但也有支持它的其他Web服務器)。通常它比CGI更快,因爲它加載一次並且運行在主機進程內部,即Web服務器本身,但是因爲它是一個DLL,所以如果崩潰就會導致整個Web服務器崩潰。

CGI另一方面是一個獨立的可執行文件。它在Linux上使用了很多,其中分叉進程既便宜又快速。每個請求都使用自己的CGI可執行文件實例。但從那以後,像CGI和其他項目一樣,這樣做更快更吸引人。這也適用於ISAPI。從那以後,有辦法將ISAPI分離到自己的沙盒過程中。

至於託管。兩者都是32或64位Windows進程。所以你需要一個Windows平臺來運行它們。大多數情況下,這將是Apache或IIS。這不是託管的最佳選擇,因爲託管主要在Linux上完成。這就是爲什麼PHP仍然如此受歡迎的原因。它運行在Linux上,99%的託管環境支持它。因此,如果您的主機不是基於Windows的,並且不支持CGI或ISAPI,那麼您運氣不好。