銷售: 1-800-867-1380

教學課程:透過虛擬網路,將 ASP.NET 應用程式連接至 Azure 的 SQL Server

更新日期: 2014年2月

建置同時利用 Azure 雲端服務 (平台即服務) 和 Azure 虛擬機器 (基礎結構即服務) 的應用程式,對於大部分的組織是一個重要的概念。使用 Azure 虛擬機器,您可以透過部署和管理虛擬機器,將現有的伺服器工作負載和應用程式移轉至 Azure。使用 Azure 雲端服務,您可以透過部署包含 Web 角色和背景工作角色的雲端服務 (也稱為託管服務),在 Azure 中建置並執行多層應用程式。

本教學課程示範如何透過 Azure 虛擬網路,將 ASP.NET 應用程式 (雲端服務和 Web 角色) 連接到 Azure 虛擬機器中的 SQL Server。當您在 Azure 中建立虛擬機器時,入口網站可讓您設定虛擬網路設定。對於雲端服務,您需要使用服務組態檔,將雲端服務部署至 Azure 的特定虛擬網路。

在本教學課程中,您將學會如何:

  1. 若要進行本教學課程,請將 Visual Studio 安裝至本機電腦。

  2. 另外,請安裝適用於 .NET Framework 的 Azure SDK。

    • 若要安裝 Azure SDK for .NET,請按一下 Azure 下載連結。選取對應於所使用 Visual Studio 版本的其中一個版本:

      Azure SDK for Visual Studio 2013

      Azure SDK for Visual Studio 2012

    • 當系統提示您執行或儲存 VWDOrVs2013AzurePack.2E2.2E2.exeVWDOrVs11AzurePack.2E2.2E2.exe 時,請按一下 [執行]

    • [Web Platform Installer] 視窗中,按一下 [安裝] 並繼續進行安裝。

  3. (選擇性) 如果您想要在本機的內部部署開發環境中測試本教學課程,請務必也要將 SQL Server 安裝到本機電腦上。

在本教學課程中,我們的目標是建立雲端中的專用私人虛擬網路。這可確保虛擬機器的內部 IP 位址 (DIP 導向的 IP) 會保持一致,即使您重新啟動虛擬機器,也不會變更。下列步驟示範如何在管理入口網站中為您的訂用帳戶建立新的虛擬網路。

  1. 在左側導覽窗格中,按一下 [網路],然後按一下下方面板的 [新增]。然後,按一下 [虛擬網路][自訂建立]

  2. [虛擬網路詳細資料] 視窗中的 [名稱] 方塊,輸入 TestVirtualNetwork。選取 [地區]。選擇 [建立新的同質群組]。在 [同質群組名稱] 欄位中輸入 TestAffinityGroup。按 [下一步] 箭頭以繼續。

    建立同質群組,可讓 Azure 將所有屬於該同質群組的服務保留在同一個資料中心,盡可能在彼此相近的位置。這麼做可以減少延遲並增加效能,同時可能會降低成本。當您建立虛擬網路時,您可以使用您之前建立的同質群組,也可以建立新的同質群組。如果在新的虛擬網路中使用現有的同質群組,在該同質群組內任何之前已部署的雲端服務都會自動指定在盡量靠近新虛擬網路中部署的其他雲端服務的位置來執行。

  3. [DNS 伺服器和 VPN 連線能力] 對話方塊視窗中,輸入您要使用的 DNS 伺服器名稱和 IP 位址,例如 TestDNSServer10.1.0.4。請不要選取點對站或站對站連線的勾選方塊。在本教學課程中,我們將在 Azure 中建立私人虛擬網路,這類網路不是針對跨單位連線所設計。

  4. [虛擬網路位址空間] 對話方塊視窗中,您可以為新的虛擬網路和子網路建立私人位址空間。位址空間必須是私人位址範圍,以 CIDR 標記法 10.0.0.0/8、172.16.0.0/12 或 192.168.0.0/16 指定 (根據 RFC 1918 指定的規範)。在 [位址空間] 中,輸入 10.4.0.0 做為 [起始 IP],並輸入 /16 做為 [CIDR]。請注意,您部署到虛擬網路的任何項目都會從這個位址空間取得 IP 位址。將 [Subnet-1] 重新命名為 FrontEndSubnet[起始 IP]10.4.2.0/24,然後按一下 [加入子網路]。按一下右下角的勾選記號,建立您的虛擬網路。

    您可以在虛擬網路位址空間內建立多個子網路。建立子網路讓您對於指派給雲端服務的位址以及部署到虛擬網路的虛擬機器有更大的控制權。建置 Azure 平台的複雜應用程式時,我們建議您在相同的虛擬網路中設定多個子網路,例如一個子網路用於 Internet Information Services (IIS) 虛擬機器,另一個子網路用於 SQL Server 虛擬機器。

    請注意,在虛擬網路內子網路 IP 位址不可重疊。

  5. 在虛擬網路部署後,您無法變更 DNS 伺服器。因此,請務必仔細規劃您的 DNS 服務。如需有助於此計畫的詳細資訊,請參閱 Azure 名稱解析概觀

    在設定虛擬網路之後,您可以部署虛擬機器或雲端服務。如需有關如何設定虛擬網路的詳細資訊,請參閱 MSDN Library 中的有關在管理入口網站中設定虛擬網路主題。如需有關 Azure 網路及其使用狀況的詳細資訊,請參閱 MSDN Library 中的 Azure 虛擬網路Azure 虛擬機器概觀

在 Azure 中,您的資料庫看起來儲存在 SQL Server 執行個體上執行的虛擬機器本機磁碟。每個這些磁碟都會在背景中寫入 Azure Blob。Azure 使用儲存體帳戶做為磁碟的容器。下列步驟示範如何在管理入口網站中建立新的儲存體帳戶。

  1. 在 Azure 管理入口網站中建立虛擬網路之後,按一下左邊的 [儲存體],然後按一下畫面左側邊角的 [+新增]

  2. 按一下 [資料服務][儲存體],然後按一下 [快速建立]

  3. [URL] 方塊中輸入 teststorageaccount4u,選擇剛建立的同質群組。在 [複寫] 中,您可以為儲存體帳戶指定您想要的複寫層級。在本教學課程中,請選取 [本機備援]。然後按一下 [建立儲存體帳戶] 勾選方塊。

如需有關 Azure 儲存體帳戶的詳細資訊,請參閱何謂儲存體帳戶

本教學課程的目標是示範如何透過 Azure 虛擬網路,將 ASP.NET 應用程式 (Web 角色) 連接到 Azure 虛擬機器中的 SQL Server。本節示範如何在指定的同質群組和虛擬網路中建立和設定 SQL Server 虛擬機器。

  1. 在 Azure 管理入口網站,按一下網頁左下方的 [+新增][計算][虛擬機器],然後按一下 [從組件庫]

  2. 選取包含 SQL Server 的虛擬機器映像,然後按一下頁面右下角的 [下一步] 箭頭。

  3. [虛擬機器組態] 頁面,提供下列資訊:

    • 如果有多個映像版本可供使用,請在 [版本發行日期] 中挑選您要使用的版本。

    • 輸入 SQLVM 做為 [虛擬機器名稱]。請注意,在 Azure 入口網站,當您按一下虛擬機器名稱以開啟其儀表板時,就會看到虛擬機器名稱指定為主機名稱。

    • 從下拉式清單中選取適當的大小

    • [新的使用者名稱] 方塊中,輸入唯一的使用者名稱做為本機系統管理員。

    • [新密碼] 方塊中,輸入強式密碼。

    • [確認密碼] 方塊中,重新輸入密碼。

  4. [虛擬機器組態] 頁面,提供下列資訊:

    • 選取 [獨立虛擬機器]

    • [雲端服務 DNS 名稱] 方塊中,提供您選擇的 DNS 名稱的第一部分,以便完成 SQLVM2013.cloudapp.net 格式的名稱。

    • [區域/同質群組/虛擬網路] 方塊中,選取將託管這個虛擬映像的虛擬網路。在本教學課程中,選取先前建立的 [TestVirtualNetwork]

    • [儲存體帳戶] 方塊中,選擇先前建立的儲存體帳戶 teststorageaccount4u

    • 當您在上一個步驟選取虛擬網路 [TestVirtualNetwork] 時,與這個虛擬網路相關聯的第一個子網路預設會顯示在 [虛擬網路子網路] 方塊中。如果您尚未建立虛擬網路的子網路,[虛擬網路子網路] 方塊不會出現在畫面上。否則,請選取先前建立的子網路 [TestSubnet]

    • [可用性設定組] 方塊中,選取 [(無)]

    • 按 [下一步] 箭頭以繼續。

    • 接著,檢閱將建立以允許連線至虛擬機器的新端點,例如透過遠端桌面或安全殼層 (SSH) 用戶端。您也可以立即加入端點,或在稍後建立端點。如果您想要稍後建立端點,請參閱如何設定與虛擬機器的通訊

    • 閱讀並接受法律條款。

    • 按一下右下角的勾選記號繼續。

  5. Azure 會建立虛擬機器並設定作業系統設定。請注意,佈建程序可能需要幾分鐘。當 Azure 完成佈建虛擬機器之後,虛擬機器會在 Azure 管理入口網站中列為 [正在執行]。如果它列為 [已停止],請按一下 [啟動]。當您建立虛擬機器時,系統會為您建立雲端服務。建立包含第一個虛擬機器的雲端服務並不會顯示在管理入口網站中,除非您將其他虛擬機器連接到第一個虛擬機器。Azure 使用 [虛擬機器模式] 頁面輸入的 DNS 名稱,來定義這個新雲端服務的名稱。

  6. 在 Azure 管理入口網站,按一下剛建立的 [SQLVM] 虛擬機器名稱以開啟其儀表板。

  7. 記下虛擬機器的 [內部 IP 位址]。稍後您將在連接字串中使用它。

  8. 在下方功能表,按一下 [連接],並使用遠端桌面 (RDP) 來登入虛擬機器。使用系統管理員認證以登入。

  9. 當您第一次登入這個虛擬機器時,可能需要完成數個程序,包括設定桌面、Windows Update,以及完成 Windows 初始組態工作 (Sysprep)。在 Windows Sysprep 完成之後,SQL Server 安裝程式會完成組態工作。使用 Windows 遠端桌面連接到虛擬機器之後,虛擬機器的運作方式與任何其他電腦很像。您可以使用 SQL Server Management Studio (執行於虛擬機器),透過一般方式連接到 SQL Server 的預設執行個體。

  10. 接下來,您必須設定 SQL Server 使用 TCP 通訊協定接聽。若要這樣做,請依序按一下 [開始] | [所有程式] | [Microsoft SQL Server] | [組態工具],然後開啟 [SQL Server 組態管理員]。請注意,在 [開始] | [所有程式] | [Microsoft SQL Server] 選擇的 SQL Server 版本,應該符合在建立虛擬機器時選擇的版本。

  11. SQL Server 組態管理員的主控台窗格中,展開 [SQL Server 網路組態]

  12. 按一下 [<執行個體名稱> 的通訊協定] (預設執行個體是 MSSQLSERVER 的通訊協定)。

  13. 在詳細資料窗格中,以滑鼠右鍵按一下 [TCP],針對組件庫映像,它預設應該是 [已啟用]。如果是自訂映像,按一下 [啟用] (如果它的狀態為已停用)。

  14. 在主控台窗格中,按一下 [SQL Server 服務]

  15. 在詳細資料窗格中,以滑鼠右鍵按一下 SQL Server (執行個體名稱) (預設執行個體為 SQL Server (MSSQLSERVER),然後按一下 [重新啟動],停止並重新啟動 SQL Server 的執行個體。

  16. 然後,您必須針對 Database Engine 的預設執行個體,開啟 Windows 防火牆的 TCP 通訊埠。若要這樣做,請依序按一下 [開始] | [所有程式] | [系統管理工具],然後開啟 [具有進階安全性的 Windows 防火牆]

  17. [具有進階安全性的 Windows 防火牆] 的左窗格中,以滑鼠右鍵按一下 [輸入規則],然後按一下動作窗格中的 [新增規則]

  18. [規則類型] 對話方塊中,選取 [通訊埠],然後按 [下一步]

  19. [通訊協定及連接埠] 對話方塊中,選取 [TCP]。選取 [特定本機連接埠],然後輸入 Database Engine 執行個體的連接埠號碼 (1433 表示預設執行個體)。按 [下一步]

  20. [動作] 對話方塊中,選取 [允許連線],然後按 [下一步]

  21. [設定檔] 對話方塊中,選取 [網域][私人][公用],然後按 [下一步]

  22. [名稱] 頁面,將輸入規則的名稱設定為 SQLServerVM1Port,並按一下 [完成]。關閉 [設定具有進階安全性的 Windows 防火牆] 視窗。

  23. 接下來,您必須設定 SQL Server 以進行混合模式驗證。若沒有網域環境,SQL Server Database Engine 就無法使用 Windows 驗證。若要這樣做,請依序按一下 [所有程式] | [Microsoft SQL Server (版本)],然後按一下 [SQL Server Management Studio]。

  24. [連接到伺服器] 對話方塊的 [伺服器名稱] 中,輸入虛擬機器的主機名稱,以使用 [物件總管] 連接到 Database Engine。選取 [Windows 驗證]。按一下 [連接]。

  25. 在 SQL Server Management Studio 的 [物件總管] 中,以滑鼠右鍵按一下 SQL Server 執行個體名稱 (虛擬機器名稱),然後按一下 [屬性]

  26. [安全性] 頁面上的 [伺服器驗證] 中,選取 [SQL Server 及 Windows 驗證模式],然後按一下 [確定]

  27. [物件總管] 中,以滑鼠右鍵按一下伺服器,然後按一下 [重新啟動]

  28. 接下來,您必須建立 SQL Server 驗證登入,以從另一部電腦連接到第一個虛擬機器。若要這樣做,請在 SQL Server Management Studio 的 [物件總管] 中,展開您要建立新登入的 [SQLVM] 伺服器執行個體。以滑鼠右鍵按一下 [安全性] 資料夾,指向 [新增],然後選取 [登入]

  29. [登入 - 新增] 對話方塊,於 [一般] 頁面上的 [登入名稱] 方塊中輸入新使用者名稱 sqlvmlogin。選取 [SQL Server 驗證]。在 [密碼] 方塊中,輸入新使用者的密碼。在 [確認密碼] 方塊中重新輸入該密碼。保留其他方塊中的預設值。

  30. [伺服器角色] 頁面上,按一下 [系統管理員 (sysadmin)],如果您要將此登入指定為 SQL Server 系統管理員。按一下 [確定]。在 SQL Server 虛擬機器安裝期間,Azure 預設會選取 Windows 驗證。因此會停用 sa 登入,且由安裝程式指派密碼。若要使用 sa 登入,請啟用它,同時也指派新密碼。如需詳細資訊,請參閱變更伺服器驗證模式

  31. 在 SQL Server Management Studio 的 [物件總管] 中,以滑鼠右鍵按一下 SQL Server 執行個體名稱 (虛擬機器名稱),然後按一下 [中斷連接]

接下來,建立將由 ASP.NET 應用程式使用的範例資料庫。

  1. 在 SQL Server Management Studio 的 [物件總管] 中,按一下 [連接],然後按一下 [Database Engine]

  2. [連接到伺服器] 對話方塊的 [伺服器名稱] 中,輸入虛擬機器的主機名稱 SQLVM,以連接到 Database Engine。選取 [SQL Server 驗證]。輸入 sqlvmlogin 做為登入名稱並輸入您先前指定的密碼。按一下 [連接]。

  3. 在 SQL Server Management Studio 的 [物件總管] 中,以滑鼠右鍵按一下 SQL Server 執行個體名稱 (虛擬機器名稱),然後以滑鼠右鍵按一下 [新增查詢]

  4. 執行下列陳述式以建立範例資料庫。

    CREATE DATABASE TestDb;
    GO
    
  5. [資料庫] 之下,選取新的資料庫 [TestDB]。以滑鼠右鍵按一下 [TestDB] 資料庫,然後開啟 [新增查詢] 視窗。執行下列陳述式,在 [TestDB] 資料庫中建立兩個資料列。

    CREATE TABLE Table1 (Col1 int primary key, Col2 varchar(20));
    GO
    INSERT INTO Table1 (Col1, Col2) VALUES (1, 'string1'), (2, 'string2');
    GO
    
    Warning警告
    Azure 預設會在作業系統磁碟機 (C:\) 中保留所有作業系統和 SQL Server 軟體。為提升效能,我們建議您將資料磁碟附加至虛擬機器,以保留所有資料和記錄檔。此外,建議不要在暫存磁碟機 (D:\) 中儲存任何資料,因為此磁碟機並非持續性。如需在 Azure 中連接磁碟的詳細資訊,請參閱如何將資料磁碟連接至虛擬機器。如需有關如何使用 SQL Server Management Studio 變更 SQL Server 新資料和記錄檔的預設位置的詳細資訊,請參閱檢視或變更資料及記錄檔的預設位置

在本節中,您將學習如何在本機內部部署電腦中建立簡單 ASP.NET 應用程式,並設定它連接到 Azure 虛擬機器的 SQL Server 資料庫執行個體。這個範例使用 GridView 控制項,讓您可以從資料庫插入、更新和刪除資料,而不需撰寫任何程式碼。

  1. 在 Visual Studio 的 [檔案] 功能表上,按一下 [新增],然後選取 [專案]

  2. [新增專案] 對話方塊的 [已安裝的範本] 清單中,針對 Visual C# 或 Visual Basic 選取 [Azure 雲端服務]

  3. 輸入 DataBinding 做為名稱,然後按一下 [確定]

  4. [Azure 雲端服務] 對話方塊中,從 [NET Framework 角色] 清單選取 [ASP.NET Web 角色],然後按一下箭號將它加入至 [Azure 雲端服務方案] 清單。按一下 [確定]。若是 Visual Studio 2013,請在 [新 ASP.NET 專案] 中針對 [WebRole] 選取 [Web Form]。然後按一下 [確定]

  5. 在 Default.aspx 中,按一下 [設計] 切換至設計檢視。

  6. [工具箱 - 資料][GridView] 控制項拖曳至設計介面。

  7. GridView[屬性] 視窗中,將 AutoGenerateDeleteButtonAutoGenerateEditButton 設定為 true

  1. [方案總管][Web 角色] 專案中,按兩下 Web.config。

  2. 在 Web.config 中,依照下述取代現有的 connectionStrings 標記,並且視需要修改:

    <connectionStrings>
        <add name="SQLServerinWAConnection" 
        connectionString="Data Source=tcp:SQLVMInternalIPAddress;Initial Catalog=TestDb;User ID=sqlvmlogin;Password=yourpassword;Encrypt=true;Trusted_Connection=false;TrustServerCertificate=true"
        providerName="System.Data.SqlClient" />
    </connectionStrings>
    
    TrustServerCertificate 設為 true 時,這會要求傳輸層使用 SSL 來加密通道,並略過驗證信任的憑證鏈結查核。如需詳細資訊,請參閱加密 SQL Server 的連接

    Warning警告
    請務必將 tcp:SQLVMInternalIPAdress 更新為新虛擬機器的內部 IP 位址,例如 tcp:10.4.2.4。此外,請務必將密碼更新為先前為登入 sqlvmlogin 指定的密碼。

    當您將 Azure 專案部署至虛擬網路時,不需要處理執行個體之間的名稱解析。換句話說,如果您部署 Web 角色來連接到執行於相同虛擬網路中之虛擬機器的 SQL Server,就必須在 web.config 檔案中指定 SQL Server 的 IP 位址。因此建議您先建立 SQL Server 虛擬機器,以便為 Web 應用程式取得虛擬機器的內部 IP 位址。

  3. 若要取得虛擬機器的 IP 位址,請登入管理入口網站。按一下 [虛擬機器]。按一下新的虛擬機器 SQLVM,開啟其儀表板。將內部 IP 位址複製到 web.config 檔案 (如上所示)。

  4. Default.aspx 中,按一下 [來源] 切換至來源檢視。

  5. BodyContent 來源檔案的 Default.aspx 標記,加入下列標記以建立連接的 SqlDataSource 控制項:

    <asp:SqlDataSource ID="SQLServerDataSource" runat="server" 
       ConnectionString="<%$ ConnectionStrings: SQLServerinWAConnection %>" 
       InsertCommand="INSERT INTO [Table1] ([Col1], [Col2]) VALUES (@Col1, @Col2)" 
       SelectCommand="SELECT * FROM [Table1]" 
       UpdateCommand="UPDATE [Table1] SET [Col2] = @Col2 WHERE [Col1] = @Col1"
       DeleteCommand="DELETE FROM [Table1] WHERE [Col1] = @Col1">
       <UpdateParameters>
          <asp:Parameter Name="Col2" Type="String" />
          <asp:Parameter Name="Col1" Type="Int32" />
       </UpdateParameters>
       <InsertParameters>
          <asp:formParameter Name="Col1" FormField="TextBox1" />
          <asp:formParameter Name="Col2" FormField="TextBox2" />
       </InsertParameters>
       <DeleteParameters>
          <asp:Parameter Name="Col1" Type="Int32" />
       </DeleteParameters>
    </asp:SqlDataSource>
    
    這包括控制項的 SELECTINSERTUPDATEDELETE 邏輯。

  6. Default.aspx,切換到 Design 模式。按一下您最近加入的 GridView 控制項。在 [GridView] 控制項的 [屬性] 視窗中,將下列屬性加入至 GridView 控制項的標記:DataSourceID="SQLServerDataSource"DataKeyNames="Col1"

  7. 開發人員可以根據應用程式需求,自由設計 ASP.NET 網頁。在本教學課程中,若使用 Visual Studio 2013,您可以依下述修改 Default.aspx 來源:

    <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebRole1._Default" %>
    <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
        <div class="jumbotron">
            <h1>ASP.NET</h1>
            <p class="lead">ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS, and JavaScript.</p>
            <p><a href="http://www.asp.net" class="btn btn-primary btn-large">Learn more &raquo;</a></p>
        </div>
        <div class="row">
            <div class="col-md-4">
                <h2>Getting started                
                </h2>
                <p>
                    ASP.NET Web Forms lets you build dynamic websites using a familiar drag-and-drop, event-driven model.
                A design surface and hundreds of controls and components let you rapidly build sophisticated, powerful UI-driven sites with data access.
                </p>
                <asp:GridView ID="GridView2" runat="server" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" DataKeyNames="Col1" DataSourceID="SQLServerDataSource">
                    </asp:GridView>
                
                <asp:SqlDataSource ID="SQLServerDataSource" runat="server" 
                    ConnectionString="<%$ ConnectionStrings: SQLServerinWAConnection %>" 
                    InsertCommand="INSERT INTO [Table1] ([Col1], [Col2]) VALUES (@Col1, @Col2)" 
                    SelectCommand="SELECT * FROM [Table1]" 
                    UpdateCommand="UPDATE [Table1] SET [Col2] = @Col2 WHERE [Col1] = @Col1"
                    DeleteCommand="DELETE FROM [Table1] WHERE [Col1] = @Col1">
                <UpdateParameters>
                    <asp:Parameter Name="Col2" Type="String" />
                    <asp:Parameter Name="Col1" Type="Int32" />
                </UpdateParameters>
                <InsertParameters>
                    <asp:formParameter Name="Col1" FormField="TextBox1" />
                    <asp:formParameter Name="Col2" FormField="TextBox2" />
                </InsertParameters>
                <DeleteParameters>
                    <asp:Parameter Name="Col1" Type="Int32" />
                </DeleteParameters>
    </asp:SqlDataSource>
            </div>
                 
        </div>
        </asp:Content>
    
    
  8. 將下列標記加入至 Web.config 檔案,在 <compilation> 標記的 <system.web> 標記之後:

    <customErrors mode="Off"/>
    
    這可確保執行這個應用程式時所有錯誤訊息的堆疊追蹤都會顯示。

  9. (選擇性步驟) 如果您要在本機的內部開發環境中測試應用程式,請以系統管理員身分執行 Visual Studio。然後,請確定連接字串指向本機 SQL Server 資料庫執行個體。如果是本機測試,請在內部部署伺服器中建立範例資料庫和資料表。然後,取代 Web.config 中的 <connectionStrings> 標記,如下所示。

    <connectionStrings>
        <add name="SQLServerinWAConnection" connectionString="Data Source=tcp:SQLVMInternalIPAddress;Initial Catalog=TestDb;User ID=sqlvmlogin;Password=yourpassword;Encrypt=true;Trusted_Connection=false;TrustServerCertificate=true"
        providerName="System.Data.SqlClient" />
        <add name="SQLServerLocalConnection" connectionString="Data Source=localhost;Initial Catalog=TestDb;Trusted_Connection=true"
        providerName="System.Data.SqlClient" />
    </connectionStrings>
    
    另外,請更新 Default.aspx 來源檔案的 ConnectingString 屬性指向本機伺服器,如下:

    ConnectionString="<%$ ConnectionStrings:SQLServerLocalConnection %>"
    
    然後按 F5 執行方案。

您可以在管理入口網站中將虛擬機器部署到 Azure 虛擬網路。但是,目前無法經由入口網站指定 Azure 雲端服務專案的虛擬網路設定。您需要在 Azure 部署封裝的 .cscfg 檔案中更新網路組態設定。在方案中,有兩個服務組態檔:

  • ServiceConfiguration.Cloud.csfg:使用此組態檔來設定 Azure 雲端部署的應用程式。

  • ServiceConfiguration.Local.csfg:針對本機組態使用此檔案,可用於計算模擬器中偵錯應用程式。

  1. 若要啟用 Web 角色和 SQL Server 虛擬機器之間的通訊,Web 角色和 SQL Server 虛擬機器必須設定連接到相同的虛擬網路。若要這樣做,您必須更新 ServiceConfiguration.Cloud.cscfg 檔案。在 [方案總管] 中,展開 [DataBinding] 專案。服務組態檔應該出現在 Visual Studio 中的 [角色] 之後。開啟 ServiceConfiguration.Cloud.cscfg 檔案,並在最後一個 NetworkConfiguration 標記後面加入下列 Role 元素。

    <NetworkConfiguration>
          <VirtualNetworkSite name="TestVirtualNetwork" />
          <AddressAssignments>
              <InstanceAddress roleName="WebRole1">
                 <Subnets>
                    <Subnet name="FrontEndSubnet" />
               </Subnets>
            </InstanceAddress>
       </AddressAssignments>
     </NetworkConfiguration>
    
    請注意,如果您在服務組態檔的虛擬網路元素部分中沒有指定值,雲端服務不會部署到虛擬網路。如需詳細資訊,請參閱 NetworkConfiguration 結構描述。如果您在 Azure 平台部署自己的 DNS 伺服器,也必須在 .csfg 檔案中為 Web/背景工作角色執行個體指定 DNS 伺服器。

    Warning警告
    確定 [VirtualNetworkSite 名稱][子網路名稱] 符合您先前在建立虛擬網路時使用的名稱。

  2. 一旦您在組態檔中進行設定後,開啟 [角色屬性] 對話視窗,選取您要使用的組態。若要這樣做,請在 [方案總管] 中以滑鼠右鍵按一下 [WebRole1]。開啟 [WebRole1][屬性] 視窗。選取 [組態]。在 [服務組態] 方塊中,選擇 [雲端]

  3. F6 以建立方案。

    Warning警告
    虛擬機器和 Azure Web/背景工作角色位在相同 Azure 虛擬網路中,可提供低度延遲、更安全的連接。

在本節中,您將使用 Visual Studio 建立封裝,將 Web 應用程式發行至 Azure。然後,您將使用該封裝,在先前用來建立在 SQL Server 虛擬機器的相同虛擬網路中建立雲端服務。

  1. 若要將 Web 應用程式發行至 Azure,請在 Visual Studio 的 [方案總管],以滑鼠右鍵按一下 DataBinding 專案並選取 [封裝]

  2. [封裝 Azure 應用程式] 對話視窗中,確認 [服務組態] 設為 [雲端][組建組態] 設為 [發行]。然後按一下 [封裝] 按鈕。

    Warning警告
    如果您看到錯誤訊息,指出 Visual Studio 無法覆寫現有的 <專案資料夾>\bin\Release\app.publish 資料夾,請手動刪除現有的封裝檔案。然後重複前兩個步驟以建立新的封裝。

  3. 登入 [管理入口網站]。

  4. 按一下頁面底部的 [+新增],依序選取 [計算][雲端服務][自訂建立]

  5. [建立雲端服務] 視窗中的 [URL] 文字方塊,輸入 DataBinding,從 [區域/同質群組] 選取清單中選取 TestAffinityGroup,並勾選 [立即部署雲端服務套件] 選項。按 [下一步] 箭頭以繼續。

  6. [發行您的雲端服務] 視窗中,輸入新部署的名稱 (例如,DataBinding)。瀏覽至封裝和組態檔的位置 (例如 <專案資料夾>\bin\Release\app.publish),並勾選 [即使一個或多個角色包含單一執行個體,也要部署] 選項。

  7. 若要使用 SSL 加密來保護應用程式,可以使用 [立即加入憑證] 勾選方塊。如需詳細資訊,請參閱在 Azure 中設定應用程式的 SSL

  8. 然後按一下勾選記號按鈕完成此程序。請注意,建立雲端服務可能需要幾分鐘。

  9. 若要查看虛擬網路的所有資源,請按一下左窗格中的 [網路]。然後按一下 [TestVirtualNetwork] 以開啟其儀表板。

  10. 若要執行應用程式,請按一下左窗格中的 [雲端服務]。然後按一下 DataBinding 雲端服務開啟其儀表板。按一下 [網站 URL] 執行應用程式。

  11. 如果您使用 Visual Studio 2013 建立這個 ASP.NET 應用程式,當應用程式執行時應該會顯示下列畫面。

Warning警告
本教學課程未示範如何使用 SSL 加密或服務層級憑證來保護雲端服務。我們建議您一定要保護應用程式和應用程式中的連接字串。

如果您想要為雲端服務使用者提供安全互動時,請使用服務憑證。如果您想要直接將雲端服務從 Visual Studio 發行至 Azure,請使用管理憑證。如需有關憑證的詳細資訊,請參閱在 Azure 中管理憑證。如需有關如何設定服務憑證的詳細資訊,請參閱在 Azure 中設定應用程式的 SSL如何設定 HTTPS 端點的 SSL 憑證

我們也建議您先將封裝的應用程式部署到 Azure 的預備環境進行測試,然後再將它移到可透過網際網路存取應用程式的生產環境。如需詳細資訊,請參閱在 Azure 中預備應用程式

另請參閱

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft