今天是 Visual Studio 2010 上市發表會 (台北場) 的日子,這段時間無不用盡心思研讀文件與撰寫簡報,為了就是能夠完美演繹我今天講的主題【 Web 開發效率提昇 - ASP.NET 4.0 】,這是我第一次講這麼多人的場次,感覺應該要緊張才對,神奇的是今天上台完全沒有緊張感,我覺得可能是準備充分的關係,昨晚又拉公司同事下來聽我預演到晚上 11:30 (萬分感謝),所以心理感覺很踏實,雖然最近嚴重睡眠不足,但這次學到一次寶貴的演說經驗,感覺蠻開心的。
              |           以下是今天在會場拍的相片:                   |                   |                   以下是本次的簡報檔下載:                   |      
   
   
  以下是今天演說的一些重點,最後有我這次準備講義內容的參考連結,可以讓各位持續修練 .NET 技藝,早日成為大內高手。至於簡報檔恐怕不適合讓各位下載,我還要給中南部的鄉親有一些些神秘感。
  程式碼片段 (Code Snippets)
    專案升級後的注意事項
  
ASP.NET 4 新玩意
  - ASP.NET 網址長度不受限
 
  
    <httpRuntime maxUrlLength="1000" relaxedUrlToFileSystemMapping="true" />
   
  - 支援 HTTP 301 永久轉向
 
  
    Response.RedirectPermanent("/", true);
   
  - ASP.NET 的三種快取機制
 
  
    - ASP.NET 快取
 
    
    - .NET 物件快取
 
    
      - .NET 4 新增的特性
 
      - 提供 .NET ObjectCache 抽象類別,可統一快取資料儲存的方式
 
    
    - ASP.NET 輸出快取
 
    
      - 提供 OutputCacheProvider 可自行擴充
 
    
  
  - ASP.NET 效能提升
 
  
    - Session 自動壓縮 
      
        <sessionState
  mode="SqlServer"
  sqlConnectionString="data source=dbserver;Initial Catalog=aspnetstate"
  allowCustomSqlDatabase="true"
  compressionEnabled="true"
/>
       
     
    - 可透過程式控制工作階段狀態開啟或關閉
 
    - 支援 IIS 7.5 的自動啟動網站機制
 
    
      - 只有 IIS 7.5  +  ASP.NET 4 能用
 
      - 應用程式集區回收過程能讓使用者完全沒感覺
 
    
    - ASP.NET 效能監測
 
    
      - 32 位元網站應用程式監測
 
      
        - C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
 
      
      - 64 位元網站應用程式監測
 
      
        - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config
 
      
      - 新增以下設定 
        
          <?xml version="1.0" encoding="UTF-8" ?> 
<configuration> 
  <runtime> 
    <appDomainResourceMonitoring enabled="true"/> 
  </runtime>
</configuration>
         
       
      - 新增效能計數器的時候
 
      
        - 類別:ASP.NET Application
 
        - 名稱:
 
        
          - % Managed Process Time (estimated)
 
          - Managed Memory Used (estimated)
 
        
      
    
  
  - ASP.NET Web Form
 
  
    - 增強搜尋引擎優化功能
 
    
      - MetaDescription
 
      - MetaKeywords
 
      - Routing – 建立 SEO Friendly 的網址
 
      
        - 使用新增的 RouteTable.Routes.MapPageRoute() 方法
 
      
    
    - 更有效率的使用 ViewState
 
    
      - 以前:只有 EnableViewState 
 
      - 現在:有了 ViewStateMode 可控制 ViewState 的使用 
 
    
    - 更精緻的 Client IDs 控制
 
    
      - 以前:控制項的 ClientID 無法自由設定名稱
 
      - 現在:控制項提供 4 種不同的 ClientID 設定方法
 
      
        - AutoID
 
        - Static
 
        - Predictable
 
        - Inherit
 
      
    
    - 可過濾資料的 QueryExtender 控制項
 
    
      - 比以前更方便的過濾 LinqDataSource 或 EntityDataSource 的資料
 
    
    - 控制項輸出的 HTML 更標準化
 
    
      - CheckBoxList 與 RadioButtonList 控制項 RepeatLayout 屬性
 
      
        - 新增 OrderedList 可輸出 <ol> 與 <li>
 
        - 新增 UnorderedList 可輸出 <ul> 與 <li
 
      
      - Menu 控制項
 
      
        - 以前:使用 <table> 排版
 
        - 現在:使用 <div> + <ul> + <li>
 
      
      - ListView 控制項
 
      
        - 以前:再怎麼不願意也要加上 <LayoutTemplate>
 
        - 現在:終於可以省略了
 
      
      - 透過 ASP.NET 框架輸出的隱藏欄位
 
      
        - 以前:隱藏欄位的 HTML 輸出成以下這附德行
 
        - 現在:隱藏欄位的 HTML 輸出加上了 aspNetHidden class
 
      
      - 樣版控制項 (Templated Controls)
 
      
        - 以前:輸出的 HTML 都會包一層 <table> 很難套版
 
        - 現在:可套用 RenderOuterTable=“false” 屬性隱藏 <table>
 
      
    
  
  - ASP.NET 圖表控制項
 
  
  - ASP.NET MVC 
 
  
    - 支援 Area 子網站功能
 
    - 透過 Data-Annotation 屬性驗證 Model 資料
 
    - 增強 View 控制顯示資料的能力 : Templated Helpers
 
    - 新增 Html.RenderAction 
 
    - 更方便的輸出 Html.Encode 訊息的方式
 
  
  - Dynamic Data
 
  
  - 網站部署
 
  
    - Web.config 組態轉換
 
    - 懶人組態轉換法 (點圖可放大) 
      

 
    - 強大的網站部署工具
 
    
      - 發行的目標網站不再砍掉重練!而是差異更新!!
 
      - Web 單鍵發行
 
    
  
參考連結