簡體   English   中英

C#客戶端 - 服務器應用程序

[英]C# Client-Server application

我需要編寫一個客戶端 - 服務器應用程序。 首先,我要編寫一個應用程序服務器。 我的應用服務器也應該連接到數據庫(MS Sql Server)並將數據從它提供給客戶端應用程序。 所以,據我所知,我應該使用WCF。 這是個好主意嗎? 也許我需要尋找別的東西?

讓我們從客戶端 - 服務器架構開始。
假設您已經確定需要客戶端和服務器,但是您是否已經仔細確定了架構? 我的意思是什么類型的服務器以及您要創建的客戶端類型?

我們來看看這里的選項:

服務器
1.您將使用什么類型的主機?
2.您的服務器需要處理多少類型和多少負載?

客戶
1.您的服務的消費者類型
2.客戶端是否需要部署在本地計算機上,還是應該基於Web?

顯然有更多的擔憂而不是上述。 初始設計應盡可能靈活。

那么,現在讓我們看看有關架構的一些解決方案。
服務器:
1.應用程序托管WCF服務器:每次需要管理服務器生命周期時。 此外,這不可擴展。 因此,如果您正在尋找可擴展的架構,您需要了解更多。
2. IIS托管的WCF服務器:根據您的需要,這可能是一個好主意以及一些架構問題。
3. Web方法:顯然這是在WCF之后,但WCF仍然存在。 所以主要區別在於asp.net web方法和wcf服務有什么區別?

現在客戶:
1. ASP.NET:由於HTML,顯然可以為每個平台使用單個客戶端應用程序
2. WPF / WinForms:由於您需要在用戶計算機上部署客戶端應用程序,因此用作客戶端會有點棘手,這就是數據安全問題。 在前者中,您可以直接使用SSL或其他方式將數據發送到瀏覽器。 雖然如果您沒有使用帶有HTTPS的WCF並且有一些專有數據通過電線傳輸,但可能會引起關注。

如果您正在尋找服務器的跨平台使用,則可以使用HTML。

結論:
您可以將Server用作WCF托管服務(在IIS或自包含的應用程序中),將客戶端用作ASP.NET。
-----------------------------
如果要求不夠大,那么您可以使用ASP.NET作為服務器,然后使用瀏覽器作為客戶端(無需創建客戶端)。
----------------------------
您可以將服務器創建為WCF作為Web方法,並在客戶機上部署客戶端。
----------------------------
WCF足夠好,它也可以處理您的專有數據類型。

WCF是一件好事,但我會使用ASP.Net自托管Web-API。 它更現代。 而且你有一個完整的休息界面,這更受歡迎。

這是一個比較: WCF和ASP.NET Web API

這是一個很好的起點: 自主ASP.NET Web API 1(C#)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM