本教學課程教導您使用 ASP.NET Web API 後端建立 Web 應用程式的基本概念。 本教學課程針對資料層使用 Entity Framework 6,並針對用戶端 JavaScript 應用程式使用Knockout.js。 本教學課程也會示範如何將應用程式部署至 Azure App App Service Web Apps。
教學課程中使用的軟體版本
- Web API 2.1
- Visual Studio 2017 (在這裡下載 Visual Studio 2017)
- 實體架構 6
- .NET 4.7
- Knockout.js 3.1
本教學課程使用 ASP.NET Web API 2 搭配 Entity Framework 6 來建立可操作後端資料庫的 Web 應用程式。 以下是您將建立之應用程式的螢幕擷取畫面。
建立應用程式視窗的螢幕截圖,顯示「書籍服務」中的 [書籍]、[詳細資料] 和 [新增書籍] 窗格。
應用程式使用單頁應用程式 (SPA) 設計。 「單頁應用程式」是 Web 應用程式的一般詞彙,可載入單一 HTML 頁面,然後動態更新頁面,而不是載入新頁面。 初始頁面載入之後,應用程式會透過 AJAX 要求與伺服器交談。 AJAX 要求會傳回 JSON 資料,應用程式會用來更新 UI。
AJAX 不是新功能,但目前有 JavaScript 架構可讓您更輕鬆地組建和維護大型複雜的 SPA 應用程式。 本教學課程使用 Knockout.js,但您可以使用任何 JavaScript 前端框架。
以下是此應用程式的主要建置區塊:
- ASP.NET MVC 會建立 HTML 頁面。
- ASP.NET Web API 會處理 AJAX 要求並傳回 JSON 資料。
- Knockout.js 資料會將 HTML 項目繫結至 JSON 資料。
- Entity Framework 會與資料庫交談。
你可以看到這個應用程式在 Azure 上運行
您想要檢視以即時 Web 應用程式執行的已完成網站嗎? 您可以透過選取以下按鈕將應用程式的完整版本部署到您的 Azure 帳戶。
您需要 Azure 帳戶,才能將此解決方案部署至 Azure。 如果您還沒有帳戶,您有下列選項:
- 免費開設 Azure 帳戶-您將獲得點數來試用付費的 Azure 服務,即使點數用完了,您仍可保留帳戶繼續使用免費的 Azure 服務。
- 啟用 MSDN訂閱者權益:MSDN 訂用帳戶會每月提供額度,讓您可使用付費型 Azure 服務。
建立專案
開啟 Visual Studio。 從 [檔案] 選單中,選取 [新增],然後選取 [專案]。 (或在 [開始] 頁面上選取 [新專案]。)
在 [新專案] 對話方塊中,在左側窗格中選取 Web,在中間窗格中選取 ASP.NET Web 應用程式 (.NET Framework)。 將專案命名為 BookService,然後選取 [確定]。
[新專案] 對話方塊的螢幕擷取畫面,左窗格中有 [Web] 選項,中間窗格中標示為 [ASP.NET Web 應用程式]。
在 [新增 ASP.NET 專案] 對話方塊中,選取 [Web API] 範本。
新的 A S P .NET 專案對話框的螢幕擷取畫面,顯示藍色醒目提示的 Web API 範本。
選擇 [確定] 以建立專案。
設定 Azure 設定 (選擇性)
建立專案之後,您可以選擇隨時部署至 Azure App Service Web Apps。
在 [方案總管] 中,於您的專案上按一下滑鼠右鍵,然後選取 [發佈]。
在出現的視窗中,選取開始。 「挑選發佈目標」對話方塊隨即開啟。
[挑選發佈目標] 對話方塊的螢幕擷取畫面,其中左窗格中有 [應用程式服務] 選項,且中間窗格中的 [建立新增] 選項已選取。選取 建立個人檔案。 建立 App Service 對話方塊隨即出現。
應用程式服務建立對話方塊的截圖,其中輸入了應用程式名稱、訂閱帳戶、資源群組、主控方案和監控欄位的值。
接受預設值,或針對應用程式名稱、資源群組、主控方案、Azure 訂閱帳戶和地理區域輸入不同的值。
選擇建立 SQL 資料庫。 [設定 SQL Server] 對話方塊會出現。
[設定 SQL 伺服器] 對話方塊的螢幕擷取畫面,顯示輸入的伺服器名稱、位置、系統管理員名稱及密碼欄位的值。
接受預設值或輸入不同的值。 輸入新資料庫的 [系統管理員使用者] 名稱和系統管理員密碼 。 當您完成時,選取 [確定]。 建立應用程式服務 頁面會重新出現。
選取 建立 以建立您的設定檔。 訊息會出現在右下角,指出部署正在進行中。 不久之後,[發佈] 視窗會重新出現。
[發佈] 視窗的螢幕擷取畫面,其中顯示新建立的設定檔、設定檔詳細資料和管理選項。您建立以部署應用程式的設定檔現已可供使用。
下一步