• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件測試之ASP.NET多頻道網站開發架構淺析和實現方法(2)

    發表于:2009-08-11來源:作者:點擊數: 標簽:軟件測試架構Asp網站開發Net
    軟件測試之ASP.NET多頻道網站 開發 架構淺析和實現方法(2) .NET網站架構 關鍵字:ASP.NET 多頻道 網站 架構 .NET 1.配置各頻道URL a.配置hosts文件 用文本編輯器打開hosts文件(位于c:\ windows 或winnt\system32\drivers\etc\),該文件中存放初始的域名解析

    軟件測試之ASP.NET多頻道網站開發架構淺析和實現方法(2)  .NET網站架構

    關鍵字:ASP.NET 多頻道 網站 架構 .NET

      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。下面為配置內容:

      

      各配置項說明如下:

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

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

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

      2.創建Model部件

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

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

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

      經驗分享:

      上述的Model部件拆分方式適用于業務功能比較復雜的大型項目,要求團隊內部有著明確、細化的分工合作。但如果面對的是中小型項目,該方式很有可能成為開發效率的瓶頸。這主要是由項目特點決定的,中小型項目業務功能相比大型項目沒有那么復雜,開發人員數量也比較有限,往往一個人要負責整個模塊的開發。在這種情況下,架構層次過于繁多,每次修改一個層時,其他相關層也得跟著同步修改,這樣反而影響了開發效率。

     

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>