2013-04-04 91 views
1

我是WCF新手,現在正在瀏覽教程。我想知道使用WPF或ASP.NET Web應用程序作爲服務客戶端的好處和缺點。我知道這取決於服務的類型,但除了Windows應用程序和其他Web應用程序之間的共同差異外,還有其他優點。WPF或ASP.NET作爲WCF客戶端

+0

[C#客戶端應用程序與網絡應用程序]可能的重複(http://stackoverflow.com/questions/2319088/c-sharp-client-app-vs-web-app) – flq 2013-04-04 19:58:47

+0

通常部署web應用程序更輕鬆。您只將一個副本部署到服務器而不是每個用戶。除非您處於瀏覽器選項被鎖定的公司環境中,否則您可能必須使用Web應用程序爲您的用戶支持N種瀏覽器類型。 – Tim 2013-04-04 20:01:06

+0

WCF服務不知道客戶端是WPF還是ASP.NET。合適的或最好的客戶端是合適的或最好的客戶端客戶端。由於ASP.NET是一個更受控制的環境,因此對WCF的需求並不多。一個網絡應用程序可以擊中一個數據庫,並仍然關閉端口1433。讓WPF應用程序直接擊中數據庫的地方大大增加了攻擊面。 – Paparazzi 2013-04-04 21:24:05

回答

2

首先,客戶端技術的選擇完全不取決於您將要與之通話的服務類型。 WPF/Winforms和一個Web應用程序都將完全有能力與Web服務交談。

相反,客戶端技術的選擇應純粹地通過在客戶端需求的驅動

coosing一個客戶端技術比其他時候,你應該考慮的因素有:

  • 訣竅提供給你(和你的團隊)
  • 部署情境:你如何讓你的應用程序給用戶等
  • 客戶端環境:你需要多少個操作系統來支持端口,在做web應用程序時,您需要支持多少種不同的瀏覽器?
  • 您是否偶爾連接過場景,還是需要對客戶端資源進行特權訪問? - 這會使規模稍微向富客戶端傾斜。

即使如此,在許多情況下,web應用程序似乎是一個非常有效的選擇,因爲你有機會獲得豐富的非MS技術像JavaScript框架,CSS資源等等,等等

在一個個人記錄:不要使用WCF來定義您的Web服務 - 有很棒的開放源代碼框架,最值得注意的是ServiceStack,這將使您的工作效率更高,專注於您的服務,而不是機械和抽象。