2012-03-07 322 views
1

是否可以在IIS服務器上部署控制檯c#應用程序。 我有一個.exe文件運行在從命名管道獲取數據的機器上,而我的c#應用程序從管道獲取這些數據並將其發送到使用TCP套接字運行的Web應用程序,我想知道是否可以部署我的C#控制檯在Web服務器上的應用程序? 我是ASP.net和C#的新手。在IIS服務器上發佈c#控制檯應用程序

+0

abjpai,請說明你想運行EXE哪裏。並且可能對現有答案進行評論,因爲至少有2個「在哪裏運行exe」的選項已經被覆蓋。 – 2012-03-07 06:10:37

回答

1

你可以將IIS服務器上的exe文件,但它不是一個常見的做法是部署C#控制檯應用程序,

  1. 這樣,你不知道,如果客戶機有適當的.NET Framework安裝。所以控制檯應用程序甚至可能不會啓動。
  2. 網絡瀏覽器可以簡單地阻止下載。
  3. 即使下載了exe文件,除非用戶在本地啓動它,它將不會自動運行。微軟

推薦的方法是部署使用ClickOnce客戶端應用程序,

http://msdn.microsoft.com/en-us/library/t71a733d%28v=vs.80%29.aspx

然後,您可以在主機側IIS ClickOnce的安裝程序。例如,微軟CodePlex上使用這種部署它的開源項目,

http://codeplex.codeplex.com/wikipage?title=ClickOnce

+0

感謝您的回覆。我會解釋我的情況。 1.我有一個exe從外部設備獲取實時數據並將其放入命名管道中(exe在服務器計算機上運行)2.我應該在服務器上運行一個腳本以從命名管道獲取此數據併發送它到客戶端使用TCP套接字(截至目前,我有ac#控制檯應用程序來做到這一點)3.客戶端ASP代碼,它從tcp套接字獲取數據並實時顯示在網頁上。我的疑問是,如何在Web服務器上運行該C#代碼(第2點)? – 2012-03-07 06:18:55

+0

由於它不需要任何用戶參與,因此您可以安全地將第2點作爲Windows服務應用程序而不是普通的控制檯應用程序。這樣,該服務總是在後臺運行(通過命名管道/ TCP進行通信),並且ASP.NET網站可以根據需要通過TCP使用其數據。然後ClickOnce不再需要。 – 2012-03-07 06:36:59

+0

好我的問題可能是愚蠢的?但我從來沒有使用Windows服務應用程序...這個Windows服務應用程序(它將在C#中)將運行在Web服務器上? – 2012-03-07 06:43:23

0

不,IIS可用於僅託管網站或Web應用程序。您無法在IIS中託管控制檯應用程序。

相關問題