2013-03-09 55 views
0

託管服務通常爲Web應用程序(如ASP.net,Rails或Django)和一些數據庫(例如SQLServer,MySQL)提供支持。 我比較喜歡C#WinForms對於我自己的大多數應用程序(例如圖形更新的速度),但我希望在它後面有一個基於Web的數據庫,以便我可以從多個位置訪問它。使用C#GUI應用程序與在線提供商查詢MySQL數據庫

是否有一個原因,我不能使用這樣的Web提供者只是爲了我的數據庫,即不提供動態網頁,而只是回答我的SQL查詢?

存在似乎回答類似問題的現有帖子,但我希望獲得更多的清晰度。 例如Web服務器是否提供了額外的安全性,否則難以獲得?

「正確的」答案是否包含關鍵字WCF?我是否需要託管服務來明確支持WCF?

+1

我認爲只要連接字符串是正確的,你可以從任何平臺訪問基於Web的數據庫 - Web應用程序,WinForm等。WCF(Windows Communication Foundation)是.NET Remoting和傳統ASMX的替代品Web服務 - 您可以查看WCF數據服務。本身沒有「正確的」答案 - 關鍵是能夠獲得與數據庫服務器的連接。有幾種前端方法,以及許多訪問數據庫的方法--ADO.NET,Entity Framework來命名兩個。 – Tim 2013-03-09 02:12:32

+0

另外,您可以使用MS Sql Server Management Studios的MySQL等效連接。 – Tim 2013-03-09 02:13:22

+1

WCF方法將要求您編寫除了前端應用程序之外還必須託管在某處以連接到數據庫的服務(常規WCF服務或WCF數據服務)。 – Tim 2013-03-09 02:14:28

回答

1

完成你所要求的內容沒有任何技術限制,但大多數託管服務提供商(主要共享託管服務)限制對其數據庫的訪問權限,以使其位於其內部網絡中。如果您可以找到一個託管服務提供商爲您提供從外部網絡進行連接的選項,那麼您就很好。

當你分發你的winforms客戶端時,你要記住的一件事是,如果終端用戶足夠聰明,連接字符串可以被提取出來。對配置文件中的連接字符串進行加密並對其正在與數據庫建立的連接使用加密(連接字符串中的SslMode=Required)將是明智之舉。

當您使用WCF時,它可以幫助您實現額外的抽象層和保護層。您可以使用自己的成員身份驗證可以訪問WCF服務的用戶身份,而不用擔心直接從客戶端連接到數據庫。

所有正在考慮的事情,與WCF或任何其他Web服務層,而不是直接連接到客戶端的數據庫將是更好的方法。

相關問題