程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET多頻道網站架構實現方法

ASP.NET多頻道網站架構實現方法

編輯:關於ASP.NET

主體架構

 

  各頻道分別位於不同的Web  Project(具有獨立的二級域名),並將所有的業務邏輯以及數據訪問功能封裝成Class Library,所有頻道共用這個Class Library。

  下面詳細介紹實現方法。

  假設網站有三個頻道,新聞、論壇以及博客,對應的二級域名為"news"、"forum"、"blog"。除此之外,還需要另外定義兩個域名,分別用於網站首頁以及用戶注冊、登陸功能(基於Passport機制,本文後面將作詳細介紹),對應域名為"homepage"、"passport"。

  1.配置各頻道URL

  a.配置hosts文件

  用文本編輯器打開hosts文件(位於c:\windows或winnt\system32\drivers\etc\),該文件中存放初始的域名解析信息。當我們在浏覽器中請求某個URL時,系統首先在hosts文件中查找相應域名,如果找到則跳轉至指定IP,如果沒找到,則進一步提交DNS進行域名解析。

  配置很簡單,格式形如"[IP][空格][域名]",每條數據對應一行。下面為配置內容:

  192.168.1.2 www.mysite.com

  192.168.1.2 passport.mysite.com

  192.168.1.3 news.mysite.com

  192.168.1.5 forum.mysite.com

  192.168.1.9 blog.mysite.com

  你可能已經注意到了,各頻道對應於不同的IP,這正是該架構的開發靈活性所在。各頻道(Web Project)可以創建於不同的開發者電腦。通過將配置內容同步到各台電腦,可以方便的在各頻道間進行頁面浏覽,就像這些頻道位於你自己的電腦一樣!采用這種方式可以極大降低開發耦合性,每個頻道都是一個獨立的模塊,一個頻道中的Bug不會影響到另一個頻道。

  b.配置Web.Config

  考慮到各頻道二級域名有可能進行調整,將相應配置信息存放於Web.Config文件是一個好辦法。同樣的,該配置信息必須同步到各Web Project。下面為配置內容:

<add key="SiteDomainName" value="mysite.com"/>
<add key="HomepageSiteURL" value="http://www.mysite.com/homepage/"/>
<add key="PassportSiteURL" value="http://passport.mysite.com/passport/"/>
<add key="NewsSiteURL" value="http://news.mysite.com/news/"/>
<add key="ForumSiteURL" value="http://forum.mysite.com/forum/"/>
<add key="BlogSiteURL" value="http://blog.mysite.com/blog/"/>
<add key="LocalSiteURL" value="/blog/"/>

  各配置項說明如下

  SiteDomainName:站點域名,形如"mysite.com"、"mysite.com.cn"、"mysite.net"等。該配置項的使用方法將在後文介紹。

  LocalSiteURL:當前頻道根路徑,也就是Web Project所在網站或虛擬目錄的路徑,以"/"開頭。該配置項主要用於頻道內部的引用,比如圖片引用、頁面鏈接等。

  其余配置項:用於頻道間的引用,比如頻道導航、功能調用等。

  2.創建Model部件

  在MVC模式組成中,Model部件包括所有的業務邏輯*作,其中也包含數據訪問*作。

  本方案將Model部件拆分成對象實體、對象*作以及數據訪問三部分,封裝成三個Class Library。

  由於Class Library設計本身就是一個很大的話題,本文就不再祥述了,有興趣的話可以參考一些相關資料。

經驗分享: 
  上述的Model部件拆分方式適用於業務功能比較復雜的大型項目,要求團隊內部有著明確、細化的分工合作。但如?????? ?o

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved