The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

VS2010 上市發表會:Web 開發效率提昇 - ASP.NET 4.0

今天是 Visual Studio 2010 上市發表會 (台北場) 的日子,這段時間無不用盡心思研讀文件與撰寫簡報,為了就是能夠完美演繹我今天講的主題【 Web 開發效率提昇 - ASP.NET 4.0 】,這是我第一次講這麼多人的場次,感覺應該要緊張才對,神奇的是今天上台完全沒有緊張感,我覺得可能是準備充分的關係,昨晚又拉公司同事下來聽我預演到晚上 11:30 (萬分感謝),所以心理感覺很踏實,雖然最近嚴重睡眠不足,但這次學到一次寶貴的演說經驗,感覺蠻開心的。

以下是今天在會場拍的相片:

 

以下是本次的簡報檔下載:

 

以下是今天演說的一些重點,最後有我這次準備講義內容的參考連結,可以讓各位持續修練 .NET 技藝,早日成為大內高手。至於簡報檔恐怕不適合讓各位下載,我還要給中南部的鄉親有一些些神秘感。

程式碼片段 (Code Snippets)

專案升級後的注意事項

  • IIS 的設定也要跟著變才行,以下動作二選一:
    • 站台指定到 ASP.NET v4.0
    • 應用程式集區切換至 .NET Framework 4.0
  • 要求驗證 (Request Validation) 變嚴謹了
  • <httpRuntime requestValidationMode="2.0" />

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 4 已納入 ASP.NET 家族正式成為內建的控制項
    • 完整的範例程式: http://code.msdn.microsoft.com/mschart
    • 透過 Visual Studio 2010 升級至 ASP.NET 4 之後會無法成功編譯
      • 修改 web.config 將檔案中所有 3.5 都改成 4.0 即可
  • ASP.NET MVC
    • 支援 Area 子網站功能
    • 透過 Data-Annotation 屬性驗證 Model 資料
    • 增強 View 控制顯示資料的能力 : Templated Helpers
    • 新增 Html.RenderAction
    • 更方便的輸出 Html.Encode 訊息的方式
  • Dynamic Data
    • 快速建置網站的密技
  • 網站部署
    • Web.config 組態轉換
    • 懶人組態轉換法 (點圖可放大)
    • 強大的網站部署工具
      • 發行的目標網站不再砍掉重練!而是差異更新!!
      • Web 單鍵發行

參考連結