2010-07-19 169 views
0

我開發了一個使用C#作爲前端和SQL作爲後端的桌面應用程序。 但是我的一個客戶想要購買它,如果軟件能夠從多臺計算機上運行,​​並且必須將一個公用數據庫放在一臺主計算機(服務器)上。使用C#和SQL的客戶端服務器應用程序

因此,我想知道,

如果已經開發的應用程序可以被配置爲客戶機/服務器應用程序進行一些小的改動,或者我應該完全開發新的應用程序。其次,我如何開發客戶端/服務器應用程序(任何提示或網站鏈接就足夠了)。

預先感謝您。

回答

1

你可以做到這一點與兩個客戶端和服務器端(SQL)的一些變化。

您可以在一臺機器上安裝SQL服務器,並將您的應用程序指向該機器以訪問數據庫。然後,您可以在n臺機器上安裝應用程序(客戶端)並訪問中央數據庫。

如果有n個用戶同時更新數據庫,那麼您需要處理併發更新事務以及在更新時讀取數據。

在客戶端應該有多用戶處理設施。多個用戶可以在不同的機器上以不同的登錄方式訪問客戶端系統,甚至數據庫也應該促進該用戶角色機制。如果您的系統不需要系統中的任何用戶角色,並且任何人都可以訪問該應用程序,那麼此更改也不是必需的。

根據您的要求,我可以說這不是很複雜的客戶端服務器應用程序。因此,獲得客戶端服務器應用程序的基本概念就足夠了這可以通過Google搜索找到。

3

這取決於你如何連接到數據庫。從您的文章看來,應用程序似乎準備好從多臺計算機運行單個數據庫。數據庫連接字符串需要正確提供。正確的意思是你應該能夠從你想運行應用程序的所有機器上的特定機器上連接到數據庫。

+1

Hi Kangkan, 感謝您的回覆。 我的應用程序已準備好在單個計算機上運行,​​其中SQL數據庫保存在Application Startup文件夾中。 但我完全不知道如何配置數據庫,以便可以從多臺計算機上訪問 – Marshal 2010-07-19 05:14:19

+0

@ user395500:您是指SQL數據庫保存在應用程序啓動文件夾中的含義。你在使用sqlite嗎?你使用了什麼數據庫連接字符串? – JPReddy 2010-07-19 05:20:27

+0

@ user395500:你的意思是這個存儲在應用程序啓動文件夾中的mdf文件?我建議將它保存在一個標準的位置,比如SQL服務器的默認數據文件夾,然後訪問它。 – Kangkan 2010-07-19 05:23:48

1

雖然看起來你的應用程序已經可以使用普通的數據庫,但我建議你有服務層。您可以開發WCF服務層來處理數據庫,您的客戶端將使用該服務層。所以這將是一種n層應用程序。 我認爲這將需要較少的修改,因爲您已經開發了演示文稿部分(桌面應用程序)以及一些數據層。

你需要的東西是這樣的: alt text http://www.webopedia.com/img/app.arch.gif

+0

-1 ...雖然我是一箇中間層的粉絲....這是一個現有的應用程序。對這個進行後視真的太過於誇張了。一層應該從一開始就在那裏,但事實並非如此。 – TomTom 2010-07-19 05:11:10

+0

從他的要求看來,它不需要任何Web服務。數據庫中央服務器和客戶端安裝在不同的機器上,連接字符串指向中央數據庫機器。 – JPReddy 2010-07-19 05:13:35

+3

@TomTom,JayaprakashReddy我已經提到應用程序已經可以滿足要求,但我建議改變架構,因爲我相信隨着新體系結構的推出,以後的修改將會非常輕鬆。除了每個人都有自己的品味,還有什麼客觀的評論? – Incognito 2010-07-19 05:34:00

相關問題