我有需要我用n層的方法來建立一個Web應用程序的項目。但是,由於我做的大部分項目都是使用1層的網站,因此我對這個架構很陌生。ASP.NET的nTier Architecutre
我決定建立一個三級體系結構,表示層,業務層&數據訪問層 ,最後是數據層。
我想知道,因爲這些層在不同的服務器上,他們在想如何溝通?使用Web服務有助於解決這個問題嗎?
是否有一個地方,這是完全教導任何簡單的教程或教訓?從構建應用程序到在單獨的服務器機器上部署。
我有需要我用n層的方法來建立一個Web應用程序的項目。但是,由於我做的大部分項目都是使用1層的網站,因此我對這個架構很陌生。ASP.NET的nTier Architecutre
我決定建立一個三級體系結構,表示層,業務層&數據訪問層 ,最後是數據層。
我想知道,因爲這些層在不同的服務器上,他們在想如何溝通?使用Web服務有助於解決這個問題嗎?
是否有一個地方,這是完全教導任何簡單的教程或教訓?從構建應用程序到在單獨的服務器機器上部署。
我認爲這是一個很好的教程。我建議你使用MVC 4爲您的項目,並按照以下
http://www.codeproject.com/Articles/439688/Creating-ASP-NET-application-with-n-tier-architect
邏輯使用如下: 表示層 - >通過創建Asp.Net項目
業務邏輯&數據訪問層 - >通過創建Web服務項目。
SQL數據庫 - >通過在你安裝SQL的機器上創建一個新的數據庫。
一旦你做到:
設計你的SQL Studio中的數據庫表。
在BL & DAL Project使用實體框架連接到您的SQL DB,這將創建一個隨時可用的方案,並且實際上會自動生成一個DAL,幷包含您需要的所有業務對象。
在BL創建應實現的所有方法的方法簽名(定義)。
在表示層添加服務引用到你的BL & DAL Web服務。
這需要時間,您需要閱讀大量有關實體框架和Web服務以及如何將這些內容用於您的需求。
嗨G.Y!目前我創建了一個示例項目來模擬nTier體系結構。我有一個包含3個項目的解決方案,一個BLL,一個PL和一個WebService項目。因此,PL項目/層中的aspx.vb文件將調用WebService函數,該函數將調用然後調用BLL項目/層中的函數。我正在考慮將PL項目分離到一臺服務器機器,將BLL和Webservice項目分離到另一臺服務器機器。爲了使PL層能夠調用Web服務功能,我需要配置什麼嗎? – user2315229 2013-04-25 06:01:54
如果它們是在不同的機器上,然後使用Microsoft技術的常見的情況是:
User Interface
通過C#
或VB
.NET
實現爲一堆(UI)的ASP.NET
Business Layer
(BLL)實施DLLsData Access Layer
(DAL)作爲關係數據庫,即SQL
數據庫與它的表,存儲過程...加上類(一些 DLL)來訪問數據庫。最佳做法是使用ORMs
即Entity Framework
來處理Data Access Layer
和Data Layer
。你在常見的場景層將傳達給對方這樣說:
UI
通常會使用Web Services
到BLL
通信。BLL
將通信DAL
通常使用Web Services
。DAL
將與Database
通信,通常使用TCP/IP
。雖然n-Tier
設計是最好的實踐中,這並不意味着每個層應不同的機器上被託管(考慮它超過物理的邏輯分離)。例如,如果您將所有3層保留在同一臺計算機上,並將數據庫託管在其他服務器上,那麼您不需要爲BLL
和DAL
實施網絡服務,這會降低複雜性和實現時間以及其他優點,即更高的通信速度和安全性。
您可能從http://tinyurl.com/d99w8rl獲得一些靈感。例子是C#,但更多的是可能對你有用的概念。 – 2013-04-24 11:37:36