• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            道。道。道

            安全特性不等于安全的特性

               :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理

            常用鏈接

            搜索

            •  

            最新評論

            WebApplication編程模型的優(yōu)點:

            ●網(wǎng)站編譯速度快,使用了增量編譯模式,僅僅只有文件被修改后,這部分才會被增量編譯進(jìn)去。

            ●生成的程序集
            WebSite:生成隨機的程序集名,需要通過插件WebDeployment才可以生成單一程序集
            WebApplication:可以指定網(wǎng)站項目生成單一程序集,因為是獨立的程序集,所以和其他項目一樣可以指定應(yīng)用程序集的名字、版本、輸出位置等信息

            ●可以將網(wǎng)站拆分成多個項目以方便管理

            ●可以從項目中和源代碼管理中排除一個文件

            ●方便的支持VSTS的Team Build方便每日構(gòu)建

            ●更強大的代碼檢查功能,并且檢查策略受源代碼控制

            ●可以對編譯前后進(jìn)行自己規(guī)定的處理

            ●對App_GlobalResources 的Resource強類支持(網(wǎng)上說的,還沒有了解過)

            ●直接升級使用VS2003構(gòu)建的大型系統(tǒng)

             

            WebSite編程模型的優(yōu)點:

            ●動態(tài)編譯該頁面,馬上可以看到效果,不用編譯整個站點(主要優(yōu)勢)

            ●同上,可以使錯誤的部分和使用的部分不相干擾(可以要求只有編譯通過才能簽入)

            ●可以每個頁面生成一個程序集(一般不會采用這種方式)

            ●可以把一個目錄當(dāng)做一個Web應(yīng)用來處理,直接復(fù)制文件就可以發(fā)布,不需要項目文件(適合小站點)

            ●可以把頁面也編譯到程序集中(應(yīng)該用不到,而且WebApplication也可以通過WebDeployment插件來實現(xiàn))


            兩種編程模型的互相轉(zhuǎn)換:

            VS2005 SP1內(nèi)置了轉(zhuǎn)換程序,可以非常方便的從WebSite轉(zhuǎn)換到WebApplication
            只需要復(fù)制文件,右鍵執(zhí)行“轉(zhuǎn)換為Web應(yīng)用程序”即可。

            未查到有專門的反向轉(zhuǎn)換工具,但比較后發(fā)現(xiàn)如果轉(zhuǎn)換也非常簡單。
            刪除所有*.designer.cs
            將*.aspx、*.ascx、*.master頁面文件中的 Codebehind="******.aspx.cs" 批量替換成 CodeFile="******.aspx.cs"

            這樣就可以轉(zhuǎn)換回來了

            Scenario
            Web Application Project
            Web Site Project
            Project definition
            Visual Studio .NET 2003 類似,由于項目文件的存在,只有被項目文件所引用的文件才會在Solution Explorer中出現(xiàn)。而且只有這些文件才會被編譯。可以很容易的把一個ASP.NET應(yīng)用拆分成多個Visual Studio項目。可以很容易的從項目中和源代碼管理中排除一個文件。
             
            一個目錄結(jié)構(gòu)就是一個WEB項目。沒有項目文件存在。這個目錄下的所有文件,都被作為項目的一部分而存在。
            我們實際部署的一個網(wǎng)站,部署上當(dāng)然不會有任何項目文件存在,如果你想對這個網(wǎng)站進(jìn)行修改,用這種編程模型就非常適合。我們根本不用在乎這個
            WEB站點中,那些文件屬于哪個項目。
            編譯和生成
            Visual Studio .NET 2003Web應(yīng)用項目編譯模式幾乎一樣。
            項目中的所有的code-behind 類文件和獨立類文件都被編譯成一個獨立應(yīng)用程序集。這個應(yīng)用程序集被放在Bin目錄下。因為是一個獨立的應(yīng)用程序集,你能夠指定應(yīng)用程序集的名字、版本、輸出位置等信息。
            例如:Model-View-Controller (MVC) 模式就可以在這里很好的被使用。因為它允許在WEB頁面和WEB用戶控件中引用一個獨立的類。
            編譯(Build)命令僅僅是測試這個WEB站點是否編譯正確,調(diào)試一個WEB站點項目的時候,是通過依賴你的源代碼文件,ASP.net進(jìn)行動態(tài)編譯頁面和類來實現(xiàn)的。
            預(yù)編譯站點和動態(tài)編譯站點用的是同一個 compilation semantics ,你可以通過預(yù)編譯來提高站點的性能。
            ASP.net 動態(tài)編譯系統(tǒng)提供了兩種模型:默認(rèn)的batch 編譯模型和fixed-names 編譯模型。
            batch 編譯模型中,被編譯成多個應(yīng)用程序集(典型的是每一個目錄被編譯成一個)。這時候你看應(yīng)用程序集,很難對應(yīng)上是哪個目錄。
            fixed-names 編譯模型中,網(wǎng)站的每個頁面或者每個用戶控件被編譯成一個應(yīng)用程序集。
             
            Iterative
            development
            調(diào)試或者運行Web頁面的時候,你必須全部編譯整個WEB項目。
            編譯整個WEB項目通常比較快,因為Visual Studio使用了增量編譯模式,僅僅只有文件被修改后,這部分才會被增量編譯進(jìn)去。
            你可以配置Visual Studio 2005的編譯屬性:編譯整個站點、編譯一個指定頁面、或者什么都不作。在最后一種情況下,當(dāng)你運行一個WEB站點的時候,Visual Studio 僅打開一個瀏覽器,并訪問當(dāng)前或者起始頁,當(dāng)這個請求被發(fā)送后,ASP.net 才開始動態(tài)編譯。
            這種模式下,頁面被動態(tài)編譯或者被編譯成不同應(yīng)用程序集,所以如果你調(diào)試或者運行一個頁面的時候,不需要整個項目被編譯通過。有錯誤的部分跟你使用的部分可以互不干擾。
            默認(rèn)情況下,當(dāng)你運行或調(diào)試任何WEB頁的時候,Visual Studio完全編譯Web Site項目。
            這么做可以看到編譯時的所有錯誤。但是,在開發(fā)進(jìn)程中,完全編譯整個站點會是相當(dāng)慢的。所以推薦你在開發(fā)調(diào)試中,只編譯當(dāng)前頁。
             
            部署
            因為所有的類文件被編譯成一個應(yīng)用程序集,當(dāng)你部署的時候,只需要把這個應(yīng)用程序集和 .aspx文件、.ascx文件以及其它靜態(tài)內(nèi)容文件一起部署。
            這種模型下,.aspx 文件將不被編譯,當(dāng)瀏覽器訪問這個頁面的時候,才會被動態(tài)編譯。
            不過,如果你使用Web Deployment Projects (一個Visual Studio 2005的插件,沒有被默認(rèn)包含到VS2005),你就可以把 .aspx 文件也編譯進(jìn)入一個應(yīng)用程序集中。 
            如果你只修改了小小的一行代碼,你也需要把整個項目的所有代碼都編譯,并且發(fā)布包含所有代碼的這個應(yīng)用程序集。
             
            使用Visual Studio Publish Website 命令,你可以把.aspx 文件 code-behind 文件編譯成應(yīng)用程序集,所以你看到的編譯后的 .aspx 文件頭發(fā)生了變化。(注意:Build 命令并不會給你可部署的應(yīng)用程序集)
            最新版本的 Publish 將支持僅編譯 code-behind 文件,這樣部署的時候,將不改變 .aspx 文件。
            默認(rèn)是在Bin目錄下預(yù)編譯成幾個應(yīng)用程序集,典型的是一個目錄對應(yīng)一個應(yīng)用程序集。
            fixed-names 部署選項可以讓每一個WEB頁面或者每個WEB用戶控件創(chuàng)建一個應(yīng)用程序集,這樣每個頁面都有一個可部署的應(yīng)用程序集。但是,fixed-names 部署選項會增多應(yīng)用程序集的個數(shù),而且實際內(nèi)存使用也會增大。
            Visual Studio .NET 2003升級
            因為跟VS2003采用了一樣的WEB項目開發(fā)模型,升級是非常非常簡單的。
            Web site 項目的編譯選項不同導(dǎo)致了它跟Visual Studio .NET 2003WEB項目的極大不同。
            雖然微軟提供了一個轉(zhuǎn)換向?qū)В侨绻愕捻椖咳绻且粋€復(fù)雜的VS2003項目,使用這個轉(zhuǎn)換向?qū)Ш螅氵€需要對照轉(zhuǎn)換手冊,做很多工作。
            如果你要從VS2003升級,建議不要用這種WEB站點開發(fā)模版。而是使用Web application 項目。
             
            選擇何種WEB編程模型
             

             

            Option or Task
            Web Application Projects
            Web Site Projects
            你有一個大型的Visual Studio .NET 2003 Web應(yīng)用需要遷移到VS2005
             
            喜歡使用 single-page code 模型來開發(fā)網(wǎng)站頁面。而不是使用code-behind 模型來編寫網(wǎng)站頁面
             
            喜歡采用下面的方式編寫網(wǎng)站:
             
            在編寫頁面時候,為了可以快速的看到編寫效果,動態(tài)編譯該頁面,馬上可以看到效果,不用編譯整個站點。
            (就是說,只需要保存文件,然后在瀏覽器中刷新一下,就可以看到自己剛剛做的效果)
            需要控制編譯后應(yīng)用程序集的名字
             
            需要每個頁面產(chǎn)生一個應(yīng)用程序集
             
            WEB頁面或者WEB用戶控件中需要使用到單獨的類。
             
            需要使用多個Project來構(gòu)建一個Web應(yīng)用。
             
            需要處理pre-build post-build 事件(編譯前后需要有自己額外的處理)
             
            希望把一個目錄當(dāng)作一個WEB應(yīng)用來處理,而不需要新建一個Project 文件。
             
             

            posted on 2007-11-13 18:48 獨孤九劍 閱讀(2921) 評論(0)  編輯 收藏 引用 所屬分類: Learn articles
            亚洲精品国产成人99久久| 久久久久久国产精品无码下载| 国内精品久久久久影院优| 国产99久久久久久免费看| 伊人色综合久久天天网| 国产情侣久久久久aⅴ免费| 九九久久精品无码专区| 亚洲AV无码久久| 久久精品国产精品亚洲| 日产精品久久久一区二区| 久久精品人妻一区二区三区| 国产精品久久午夜夜伦鲁鲁| 一本久久精品一区二区| 99久久国产综合精品五月天喷水 | 久久66热人妻偷产精品9| 国产福利电影一区二区三区,免费久久久久久久精 | 久久无码一区二区三区少妇| 久久久av波多野一区二区| 亚洲精品无码久久久| 久久久久国产视频电影| 日韩精品久久久久久| 精品乱码久久久久久久| 欧美国产成人久久精品| 中文字幕无码久久人妻| 伊人久久无码精品中文字幕| 久久91精品综合国产首页| 伊人久久大香线蕉精品| 波多野结衣中文字幕久久| 奇米综合四色77777久久| 国内精品伊人久久久久777| 亚洲国产精品无码久久九九| 91久久福利国产成人精品| 久久夜色tv网站| 99久久精品久久久久久清纯| 久久免费视频网站| 久久国产香蕉视频| 三级韩国一区久久二区综合| 精品久久久久久无码人妻热| 久久亚洲国产精品123区| 久久影视国产亚洲| 久久综合色老色|