網頁開發技術的新助力 - 升級到 ASP.NET 4.5 (使用 VS 2012)

註 - 本文適合使用 Visual Studio 2012,將 ASP.NET 1.1 - 4.0 的網站,升級成 ASP.NET 4.5,以享受新版的好處。(使用 Visual Studio 2013 升級的技術文章,請看這篇文章)

摘要

在智慧型手機與平板電腦等移動裝置的數量己經成長到形成一股不容忽視的族群,以及 HTML5 與 CSS 3 等新興的網頁開發技術風起雲湧的推波助瀾下,網頁開發技術再度興起革命性的變化。

在新世代網頁技術的衝擊下,使用舊時代網頁開發技術設計的網頁不僅在執行效能與安全的層面無法迎合現代化的網站的需求,同時也無法適應新的瀏覽器的挑戰,更難有機會將開發好的網站部署到 Windows Azure 雲端執行環境。

網頁開發技術的新助力 - 升級到 ASP.NET 4.5

升級到 ASP.NET 4.5 的八大理由

ASP.NET 4.5 是 Microsoft 最新推出的網頁開發技術,支援使用最新的網頁開發技術設計現代化的網頁。使用 Microsoft 最新的網頁開發技術設計網頁可以得到很多好處,包括更佳的安全性,更好的執行效能,支援開發與部署 Windows Azure 雲端網站,而且可以利用最新的 HTML5 和 CSS3 網頁開發技術設計更佳的網頁功能。

網頁程式設計師有八個充分的理由支持將舊有的 ASP.NET 1.x ~ 4.0 網頁升級到 ASP.NET 4.5:

  1. 支援使用最新的 HTML5 和 CSS 3 網頁開發技術設計現代化網頁
    使用 Visual Studio 2012 搭配 ASP.NET 4.5 支援利用最新的網頁開發技術 - HTML5 和 CSS 3 來設計網頁的功能,包括利用 TextBox 控制項的 TextMode 屬性支援的內容值協助使用者輸入電子郵件、日期時間、色彩、和指定範圍的數值等資料,利用 FileUpload 控制項的 AllowMultiple 屬性製作好用的多檔上傳功能,利用 <audio> 或 <video> 標籤播放聲音和影片檔案,或是利用支援雙向傳輸的 WebSocket 功能製作需要長時間連線的功能,例如開發聊天程式、或是製作大量資料傳送、收集資料相關的功能。除此之外也可以利用 ASP.NET 4.5 最新支援的 SignalR 開發即時通訊的功能,例如開發即時訂位或電子白板功能。

    以下就是支援使用者輸入電子郵件位址的 TextBox 控制項範例:

    <asp:TextBox ID="txtEmail" runat="server" TextMode="Email">

    支援多檔上傳的 FileUpload 控制項範例:

    <asp:FileUpload ID="FileUpload1" runat="server" AllowMultiple="True" />

  2. ASP.NET 4.5 具有更佳的安全性
    ASP.NET 網頁開發技術素以優良的安全性聞名,ASP.NET 4.5 在安全性又更 上一層樓,不但支援更具彈性的 Request Validation 功能,讓網頁程式設計師 可以將 TextBox 控制項的 ValidateRequestMode 屬性設定為 Disable,關閉某個 TextBox 控制項的資料驗証功能,允許使用者於指定的 TextBox 控制項輸入 HTML 格式的內容或 Javascript,但是保留整個網頁的資料驗証功能。或是利 用 ASP.NET 4.5 內建的 Microsoft Anti-Cross Site Scripting Library 支援的多種 資料編碼功能,包括:HtmlEncode、HtmlFormUrlEncode、 HtmlAttributeEncode、XmlAttributeEncode、XmlEncode、UrlEncode、 UrlPathEncode、及 CssEncode 等方法,將網頁欲顯示的內容編碼之後再輸出 到用戶端瀏覽器,防範知名的 Cross Site Scripting 駭客攻擊技術,確保網頁的安全性。

    以下就是關閉資料驗証功能的 TextBox 控制項範例:

    <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" ValidateRequestMode="Disable"/>

  3. ASP.NET 4.5 具有更佳的執行效能
    在提升網頁執行效能方面,ASP.NET 4.5 可以利用 aspnet_intern.exe 命令列工 具指定網站共用的組件,讓多個需要使用共同組件的網站可以使用記憶體中同一個組件,不但可以節省網站執行時載入組件花費的時間,而且可以節省 多個網站載入相同的組件佔用的記憶體,對網站載入的速度和消耗記憶體的問題都可以提供實質的好處。

    您只要開啟 [適用於 VS2012 的開發人員命令提示字元] 視窗,執行以下的命令,就可以將位於 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files 資料夾底下的共同組件當做共同的組件,並放置到 C:\ASPNETCommonAssemblies 資料夾:

    aspnet_intern -mode exec -sourcedir
    "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files" -interndir
    C:\ASPNETCommonAssemblies

    除了可以利用 aspnet_intern.exe 命令列工具提升網站的載入速度以外,ASP.NET 4.5 還可以自動利用 Web 伺服器配備的多核心處理器進行對網站進行 JIT 編譯 (Just-In-Time Compile),加速網站第一次編譯的速度,讓網站第一次被瀏覽時擁有更好的執行效能。

    在改善使用者的瀏覽體驗方面,ASP.NET 4.5 支援網頁程式設計師可以很方便地利用 jQuery 用戶端網頁設計技術,讓所開發的網頁具備更友善的瀏覽體驗,利用 jQuery Mobile 設計可以支援多種行動裝置瀏覽器瀏覽的網頁。除此之外,更可以使用 ASP.NET 最新的打包技術將網頁使用的 Javascript 和 CSS 檔案打包成單一,體積精簡的檔案,縮短網頁載入欲使用的 Javascript 和 CSS 檔案的速度,讓網頁執行時具備更好的效率。

    以下就是將上一層資料夾底下名稱為 scripts 的資料夾中的 Javascript 檔案打包成單一檔案以提升下載效率的範例:

    <script src="../scripts/js"></script>

  4. ASP.NET 4.5 功能更豐富
    ASP.NET 4.5 支援最新的 MVC 4.0 設計模型,允許網頁程式設計師利用最新的 MVC 4.0 設計模型設計以 MVC 設計模型為基礎的網站應用程式。除了新版的 MVC 4.0 設計模型以外,Visual Studio 2012 另外支援在建立 [ASP.NET MVC 4 Web 應用程式] 型態的專案時選擇 [行動應用程式] 或 [Web API] 範本,設計適合行動裝置 (例如智慧型手機和平板電腦) 瀏覽的網站,或是支援利用 HTTP 協定呼叫的服務。圖 1 所示即為建立 [ASP.NET MVC 4 Web 應用程式] 型態的專案時選擇 [行動應用程式] 範本的操作畫面:

    圖 1:建立 [ASP.NET MVC 4 Web 應用程式] 型態的專案時選擇 [行動應用程式] 範本的操作畫面

    除了支援利用新的 MVC 4.0 設計模型設計網站應用程式以外,ASP.NET 4.5 支援新的資料繫結語法與資料模型繫結功能,協助網頁程式設計師以 Item 和 BindItem 語法繫結至 ADO.NET 實體資料模型,並將繫結的資料顯示在網頁上,提供建置階段語法檢查功能,提升程式碼的品質,同時還可以避免因為執行 Reflection 的動作影響網頁顯示資料的效率。

    以下就是利用 Item 語法顯示記錄的 CompanyName 欄位的 GridView 控制項範例:

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" AllowPaging="true" ItemType="NorthwindModel.Customers" SelectMethod="GetCustomers" >
    <Columns>
    <asp:TemplateField HeaderText=" Customer">
    <ItemTemplate>
    <asp:Label ID="Label1" runat="server" Text="<%# Item.CompanyName %>"></asp:Label>
    </ItemTemplate>
    </asp:TemplateField>
    </Columns>
    </asp:GridView>

  5. ASP.NET 4.5 提供更便捷的網站管理工具
    ASP.NET 不僅在支援豐富的控制項和功能,協助網頁程式設計師設計網頁的功能,也支援各種好用的工具協助程式設計師分析網站的執行效能,對網站的程式碼進行單元測試、UI 測試、負載測試、程式碼分析和度量分析,協助程式設計師部署網站,以及支援程式設計師管理網站專案使用的程式庫套件的程式庫套件管理員。

    程式設計師只要執行 [工具 | 程式庫套件管理員 | 管理方案的 NuGet 套件] 功能就可以啟動程式庫套件管理員,執行新增或移除網站專案使用的程式庫套件的動作。圖 2 所示即為程式庫套件管理員的執行畫面:

    圖 2:程式庫套件管理員的執行畫面

    支援開發與部署雲端網站是另一項使用舊版的 Visual Studio 開發工具搭配 ASP.NET 1.x ~ 4.0 網頁開發技術難以達到的功能。網頁程式設計師可以執行 Visual Studio 2012 提供的 [檔案 | 新增 | 專案] 功能,看到 [新增專案] 的畫面後選擇 [Visual C#] 項目底下的 [Cloud] 項目,再點選畫面中央的 [取得 Windows Azure SDK for .NET] 項目,下載並安裝必要的套件,就可以利用 Visual Studio 2012 搭配 ASP.NET 4.5 設計能夠部署到雲端的 ASP.NET 網站,如圖 3 所示:

    圖 3:使用 Visual Studio 2012 下載並安裝建立雲端網站專案的相關套件的畫面

  6. 支援使用 ASP.NET Web API 開發 HTTP 服務
    ASP.NET 4.5 支援的 Web API 功能支援網頁程式設計師利用 HTTP 協定建立 HTTP 服務,協助多種型式的用戶端程式 (包括:瀏覽器、Windows 應用程式、 智慧型手機/平板電腦程式) 利用 GET/POST 命令傳送 XML/JSON 格式的資料呼叫伺服器端提供的 HTTP 服務,並取回 XML 格式或 JSON 格式的呼叫結果。

  7. ASP.NET 1.1 的網站只能在 32 位元的作業模式執行
    64 位元電腦己經普及的現在,為 Web 伺服器安裝 64 位元的 Windows 作業系統,可以讓網站擁有更多的可用記憶體,提供更好的運算效能。但是如果企業中尚有 ASP.NET 1.1 版的網站需要和 ASP.NET 2.0 或更高版本的網站在同一部 Web 伺服器提供服務,將會造成 64 位元 Windows 內建的 IIS 服務必須在 32 位元的作業模式執行,喪失 64 位元的運算與定址能力,造成空有 64 位元的電腦,卻沒有 64 位元的 IIS 伺服器,間接影響網站的執行效能。

  8. Microsoft 對 ASP.NET 1.1 的維護支援已經於 2008 年 10 月 14 日終止,其延伸維護支援 (不提供免費的維護,也僅提供和安全性有關的修補) 也將於 2013 年 10 月 8 日終止。

基於以上的種種理由,將舊版的 ASP.NET 1.x ~ 4.0 網站升級成最新的 ASP.NET 4.5 網站是具未來性與前瞻性的做法,不但可以支援網頁程式設計師使用最先進的網頁開發技術設計網頁,同時也可以提升網站執行效率與安全性,是一舉多得解決方案。

將 ASP.NET 2.0 ~ 4.0 網站升級成 ASP.NET 4.5 網站

ASP.NET 1.1 網站之後的網站,包括 ASP.NET 2.0 網站、ASP.NET 3.X 網站、和 ASP.NET 4.0 網站要升級成 ASP.NET 4.5 網站,因為專案結構與檔案結構都與 ASP.NET 4.5 網站的專案結構與檔案結構類似,所以升級的動作較為簡單。

如果舊版本的網站是利用 [ASP.NET Web 應用程式] 型態的專案建立的,您只要使用 Visual Studio 2012 直接開啟舊版本的 [ASP.NET Web 應用程式] 型態的專案的方案檔 (副檔名為 .sln 的檔案) 或專案檔 (副檔名為 .csproj 或 .vbproj 的檔案),Visual Studio 2012 就會直接將方案檔或專案檔升級成 Visual Studio 2012 的格式,並將升級的報告顯示在瀏覽器供您檢視,如圖 9 所示:

圖 9:升級舊版本的 [ASP.NET Web 應用程式] 型態專案的升級報告

請注意升級的動作只會升級方案檔或專案檔的格式,不會升級網站專案所使用的 .NET Framework 版本,升級後的網站專案可以繼續搭配原來的 .NET Framework 版本提供服務。 如果有需要升級網站專案使用的 .NET Framework 版本,請執行 [專案 | 專案名稱屬性],點選左方的 [應用程式] 項目,再將 [目標 Framework] 欄位的內容變更成所需要的 .NET Framework 版本,就可以令升級後的網站使用新版本的 .NET Framework,如圖 10 所示。

[提示]

上述的專案名稱即為網站專案的專案名稱。


圖 10:變更 [ASP.NET Web 應用程式] 型態專案所使用的 .NET Framework 版本的畫面

如果舊版本的網站是利用 WebSite 型態的專案建立的,您可以使用 Visual Studio 2012 直接開啟放置 WebSite 型態網站內容的資料夾,執行升級 WebSite 型態網站的動作,如果您的電腦中未安裝 SQL Server Express,您將會看到如圖 11 的畫面:

圖 11:在未安裝 SQL Server Express 的電腦開啟舊版本的 WebSite 型態網站看到的警告畫面

您可以遵循圖 11 畫面的指示為電腦安裝 SQL Server Express,或是將專案的資料庫升級成使用 SQL Server LocalDB Express。

按下圖 11 畫面中的 [確定] 鍵就可以利用新版本的 Visual Studio 2012 開啟舊版本的 WebSite 型態網站。

請注意使用 Visual Studio 2012 開啟版本的 WebSite 型態的網站並不會升級 WebSite 網站所使用的 .NET Framework 版本,被開啟的 WebSite 網站仍然可以繼續搭配原來的 .NET Framework 提供服務。如果有需要升級 WebSite 網站使用的 .NET Framework 版本,請執行[網站 | 起始選項] 功能,點選左方的 [建置] 項目,再將 [目標 Framework] 欄位的內容變更成所需要的 .NET Framework 版本,就可以令升級後的 WebSite 網站使用新版本的 .NET Framework,如圖 12 所示:

圖 12:變更 WebSite 型態網站所使用的 .NET Framework 版本的畫面

將 ASP.NET 1.1 網站升級成 ASP.NET 4.5 網站

程式設計師只要執行以下的動作,就可以很容易地將 ASP.NET 1.1 網站升級成 ASP.NET 4.5 網站:

  1. 將 ASP.NET 1.1 網站部署到 IIS 伺服器
    欲將 ASP.NET 1.1 網站升級成 ASP.NET 4.5 網站,首先請備份欲升級的 ASP.NET 1.1 網站專案,然後將 ASP.NET 1.1 網站複製到 IIS 伺服器,並將複製到 IIS 伺服器的 ASP.NET 1.1 網站轉換成 IIS 應用程式。

  2. 使用 Visual Studio 2012 開啟 ASP.NET 1.1 網站專案的專案檔
    請啟動 Visual Studio 2012 並開啟複製到 IIS 伺服器的 ASP.NET 1.1 網站專案的專案檔 (副檔名為 .csproj 或 .vbproj),Visual Studio 2012 就會自動啟動升級精靈將 ASP.NET 1.1 網站專案升級成 ASP.NET 4.5 網站。

    注意: 這個動作只會升級 ASP.NET 1.1 網站的專案檔和 web.config 設定檔,不會升級副檔名為 .aspx 的網頁檔案及網頁的類別檔案 (副檔名為 .cs 或 .vb)。

    當升級精靈完成將 ASP.NET 1.1 網站升級成 ASP.NET 4.5 網站之後,您將會看到如圖 4 所示的移轉報告,您可以詳細檢視報告的內容,以了解移轉的結果,並處理升級 ASP.NET 1.1 網站發生的錯誤。

    圖 4:將 ASP.NET 1.1 網站升級成 ASP.NET 4.5 網站的移轉報告

    除了可以看到如圖 4 所示的移轉報告以外,您還會看到另外一個提示畫面,告訴您己完成升級網站的第一個步驟,您必須再執行[轉換成 Web 應用程式]的動作,將網頁的類別檔案升級成 ASP.NET 4.5 的格式,如圖 5 所示,才算完成升級 ASP.NET 1.1 網站的工作。

    圖 5:提示您必須再執行 [轉換成 Web 應用程式] 功能才能完成升級網站的工作的畫面

    請按下圖 5 畫面中的 [確定] 鍵,關閉圖 5 的畫面。

  3. 升級網頁類別檔案
    接下來我們就要執行[轉換成 Web 應用程式]功能,將網頁的類別檔案升級成 ASP.NET 4.5 的格式。請注意這是一個無法復原的動作,執行之後網頁的類別檔案將無法還原至執行 [轉換成 Web 應用程式] 功能的狀態。

    請使用滑鼠右鍵點選 [方案總管] 視窗中的專案名稱,從出現的功能表選擇 [轉換成 Web 應用程式] 功能,執行將網頁的類別檔升級成 ASP.NET 4.5 的格式的動作,螢幕上將會出現如圖 6 的畫面,提醒您這個動作將會把網頁的類別轉換成 partial class,並為網頁建立 *.aspx.designer.cs,負責定義網頁需要建立的控制項物件:

    圖 6:提醒您升級網頁的類別檔案將會改變網頁對應的類別檔案的內容的畫面

    [說明]

    假設網站專案中有名稱為 Default.aspx 的網頁,及網頁對應的 Default.aspx.cs 類別檔案,執行 [轉換成 Web 應用程式] 功能將會改變 Default.aspx.cs 類別檔案的內容並建立一個名稱為 Default.aspx.designer.cs 的新檔案,負責定義網頁需要用到的所有控制項物件。

    按下圖 6 畫面中的 [是] 鍵,執行升級網頁類別的動作。完成升級網頁類別的動作之後請使用滑鼠右鍵點選 [方案總管] 視窗中的網站專案,從出現的功能表選擇[重建]功能,對網站專案執行重建 (Rebuild) 的動作,令網站使用新版本的 .NET Framework 組件進行建置,並處理建置網頁類別檔案發生的錯誤。做好之後就完成將 ASP.NET 1.1 網站升級成 ASP.NET 4.5 網站的工作了。

ASP.NET 1.1 網站與 ASP.NET 4.5 網站的基本差異

  1. 網頁檔案(.aspx)的差異
    從現代化網頁的角度來看,ASP.NET 1.1 版的網頁檔案的內容與屬性設定皆未符合 XHTML 文件的規範,包括:標籤大小寫的問題 (例如 <HTML>、和 <HEAD> 等標籤預設都使用大寫),屬性內容值未包覆在雙引號中 (例如控制項的 Width 和 Height 屬性的內容值預設都未包覆在雙引號中),開頭標籤與結尾標籤對應的問題, (例如 <p>、<br>、<hr> 等標籤都可以擁有開頭標籤,但是缺少結尾標籤) <img> 標籤未設定 alt 屬性的內容值,以及 <body> 標籤設定的 MS_POSITIONING 屬性等等都是 ASP.NET 1.1 版的網頁文件不符標準的範例。網頁程式設計師可以執行 Visual Studio 2012 的 [檢視 | 錯誤清單] 功能檢視網頁文件不符標準的警告並加以修正,避免將網頁內容顯示到用戶端瀏覽器時發生異常。

    ASP.NET 1.1 版的網頁檔案不但有未符合 XHTML 文件規範的問題,而且網頁的 <body> 標籤預設使用 GridLayout 版面配置與絕對定位方式,如果要為網頁加入新的控制項,新加入的控制項預設會採用 FlowLayout 定位方式由上到下,由左到右擺放,而且未使用絕對定位,若要定位新加入的控制項,可以視需要為網頁加入 <table> 表格,以定位新加入的控制項,如果要定位 ASP.NET 1.1 版網頁中原有的控制項,則必須刪除原有的控制項的 style 屬性的設定,令其不再使用絕對定位,才能和新加入的控制項一起放在表格中進行定位。

    ASP.NET 1.1 版的網頁檔案範例:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>WebForm1</title>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="https://schemas.microsoft.com/intellisense/ie5"
    name="vs_targetSchema">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    </body>
    </HTML>

    ASP.NET 4.5 版的網頁檔案範例:

    <!DOCTYPE html>
    <html >
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
    </body>
    </html>

  2. 網頁類別檔案 (.aspx.cs) 的差異
    除了網頁檔案有差異以外,網頁的類別檔案也有顯著的差異。例如 ASP.NET 1.1 版的網頁類別檔案定義的網頁類別並未宣告成 partial class,而且會由網頁的類別中名稱為 InitializeComponent 方法負責建立網頁欲使用的控制項物件並設定物件的屬性。ASP.NET 1.1 網頁類別檔案升級之後,網頁的類別會宣告成 partial class,而且類別中名稱為 InitializeComponent 方法會變成空的方法,所有需要建立的控制項物件都會交由新建立的 designer 檔案負責定義。

    ASP.NET 1.1 版的網頁類別檔案範例:

    public partial class WebForm1 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, System.EventArgs e)
    {
    }
    private void InitializeComponent()
    {
    //建立控制項與設定控制項的屬性
    }
    }

    ASP.NET 4.5 版的網頁類別檔案範例 - *.aspx.cs:

    public partial class WebForm2 : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    }

    ASP.NET 4.5 版的網頁類別檔案範例 - *.aspx.designer.cs:

    public partial class WebForm2
    {
    protected global::System.Web.UI.HtmlControls.HtmlForm form1;
    }

web.config 設定檔的重要設定

將 ASP.NET 1.1 版的網站升級成 ASP.NET 4.5 版的網站之後,web.config 設定檔會加入以下的兩行設定,其中將 xhtmlConformance 標籤的 mode 屬性設定為 Legacy,表示要以 ASP.NET 1.1 版的方式輸出網頁內容,控制 ASP.NET 控制項輸出到用戶端瀏覽器時 name 屬性內容值的命名方式,避免影響依賴控制項的 name 屬性內容值進行控制的程式碼。除此之外也會控制所輸出到用戶端瀏覽器的 HTML 文件是否符合 XHTML 的規範,亦即 HTML 文件標籤的開頭標籤與結尾標籤是否配對的問題。因為將 ASP.NET 1.1 網站升級成 ASP.NET 4.5 版網站並未對網頁檔案 (.aspx) 執行任何升級的動作,所以必須加入這個設定,如果網頁程式設計師將網頁檔案更新成符合 XHTML 規範的語法之後,就可以刪除這個設定。

將 page 標籤的 controlRenderingCompatibilityVersion 屬性的內容值設定為 3.5 表示要令部署到執行環境為 .NET Framework 4.0 版的應用程式集區的 ASP.NET 網站的控制項要採用與 ASP.NET 3.5 版相同的方式輸入內容到用戶端瀏覽器,而將 clientIDMode 屬性的內容值設定為 AutoID,也是 ASP.NET 3.5 版預設採用的控制項 ID 的產生方式。

將 ASP.NET 1.1 網站升級成 ASP.NET 4.5 版網站新加入到 web.config 設定檔的設定:

<xhtmlConformance mode="Legacy"/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>

重要的升級注意事項

完成將 ASP.NET 1.1 網站升級成 ASP.NET 4.5 的網站之後,如果升級後的網站將部署到 64 位元的電腦執行,而且 IIS 伺服器將採用 64 位元的作業模式,就必須注意網站是否有使用到 32 位元的元件,如果有的話,最好將網站所使用的 32 位元元件也升級成 64 位元元件,避免影響到網站的執行效能。若無法將網站所使用的 32 位元元件升級成 64 位元元件,則必須設定網站能夠執行 32 位元的元件。

欲設定網站可以執行 32 位元的元件,請啟動 [Internet Information Service(IIS) 管理員],使用滑鼠右鍵點選 ASP.NET 網站執行所在的應用程式集區,執行 [進階設定] 功能,將 [啟用 32 位元應用程式] 設定的內容值變成為 True,讓於 64 位元作業模式執行的 IIS 伺服器所執行的 ASP.NET 網站能夠順利地使用 32 位元的元件提供的功能。

圖 7 所示即為設定網站可以執行 32 位元的元件的畫面:

圖 7:設定網站可以執行 32 位元的元件的畫面

將 ASP.NET 1.1 版的網站升級成 ASP.NET 4.5 網站之後,就可以將 ASP.NET 網站執行所在的應用程式集區的 [.NET Framework版本] 設定變更成:v4.0,而且最好可以將 ASP.NET 網站執行所在的應用程式集區的 [Managed管線模式] 設定變更為:Integrated,以發揮 IIS 伺服器新的執行架構的優點,讓 ASP.NET 網站執行的更有效率。

欲設定應用程式集區的 [.NET Framework 版本] 和 [Managed 管線模式] 設定,請啟動 [Internet Information Service(IIS) 管理員],使用滑鼠右鍵點選 ASP.NET 網站執行所在的應用程式集區,執行 [進階設定] 功能,就可以執行設定 [.NET Framework 版本] 和 [Managed 管線模式] 設定的工作了,如圖 8 所示:

圖 8:執行設定 [.NET Framework 版本] 和 [Managed 管線模式] 設定的畫面

結語

將 ASP.NET 1.x ~ 4.0 版的網站升級成 ASP.NET 4.5 版網站的做法是具前瞻性與未來性的做法,不但可以利用最新的 HTML5 與 CSS3 網頁開發技術、MVC 4.0 設計模型、和 ASP.NET Web API 設計現代化的網頁,也可以讓所開發的網站具備更佳的安全性和更好的執行效能。除此之外還可以利用 Visual Studio 2012 支援的最新網站部署工具快速地將設計好的網站部署到 IIS 伺服器或是 Windows Azure 雲端。