2012-02-03 94 views

回答

6

創建每個客戶端的獨立的項目將難以維護,同時對所有客戶機的項目可能難以定義。這是一條很好的路線,您的需求將決定您如何構建解決方案。

我最近做SAS(軟件即服務)項目時,我們能夠使用插件體系結構構建我們的MVC應用程序,以便每個客戶端都可以將自己的DLL部署到BIN中,以啓用自定義只是該客戶端(對視圖,資產甚至控制器)。我們能夠利用單一代碼庫並擁有許多客戶端,大多數客戶端沒有自定義設置,有些客戶端可以從輕到重自定義設置。

每個客戶都有他們的「門戶」和最經常,他們有私人空間,所以http://app.mycompany.comhttp://mycompanyapp.com唯一的URL有的甚至是在我們自己的網站,http://hostingcompany.com/client/主辦。

通過建立能夠確定哪些客戶端是基於我們能夠處理所有這些情況下輕鬆的URL的應用程序。當我們部署時,我們只有一個代碼庫(一次只能部署到一個文件夾),所有的站點都使用相同的代碼部署。

我們運行一個Web農場裏,我們有很多的.NET Web服務器和具有負載平衡設置和網站都有我們的負載均衡器進行交互,以確定他們的健康平安的網頁。

就像我說的,您的需求將決定你最好的解決辦法是什麼。

0

尼克,有關數據庫我們又該用一個數據庫,每個客戶端還是應該有針對每個客戶單獨的數據庫在我的情況下我們的應用程序是多個數據庫爲中心的所以有很多爲每一個客戶做了按有業務角色的變化。

+1

對不起,我沒有看到你的問題,因爲它不是我的帖子的回覆。只要您的數據庫結構以支持共享數據庫的方式構建(使用CompanyID來分割數據或某物),它就可以以任何一種方式進行。使用正確的結構,您可以輕鬆地將各個客戶端自行安裝。在我們的例子中,我們有一個MASTER數據庫,它存儲了一些主配置,如客戶端到數據庫的映射,應用程序所回答的域列表等等。在任何時候,我們都可以將客戶端移動到共享位置(從共享到專用或專用共享)。 – 2013-06-21 22:51:01

相關問題