詳解在Azure上部署Asp.NET Core Web App
在云計算大行其道的時代,當(dāng)你要部署一個網(wǎng)站時第一選擇肯定是各式各樣的云端服務(wù)。那么究竟使用什么樣的云端服務(wù)才能夠以最快捷的方式部署一個 ASP.NET Core的網(wǎng)站呢?Azure 的 Web App 服務(wù)是個很好的選擇。
下面我們會通過 Visual Studio 創(chuàng)建一個 Asp.net Core demo 應(yīng)用,然后把這個 demo 應(yīng)用部署到 Azure Web App。通過閱讀本文,您將能了解到如何創(chuàng)建 Asp.NET Core 應(yīng)用程序和如何在Azure上創(chuàng)建 Web App 并部署 Asp.NET Core 應(yīng)用。
Azure Web App 是什么?
Web App 是 Azure 提供的用于運(yùn)行網(wǎng)站和 Web 應(yīng)用程序的計算資源。如果要簡單的打個比方,您可以把它理解為 IIS 下的一個虛擬目錄。我們只要把 Web 應(yīng)用上傳到指定的地方它就能提供 Web 服務(wù)了。
Azure Web App 具有很多的有點(diǎn),但我想在這里強(qiáng)調(diào)的只有一個:簡單!
創(chuàng)建 Asp.NET Core 應(yīng)用
想通過 Visual Studio 創(chuàng)建 Asp.net Core 應(yīng)用需要先安裝 .net core vs tool,詳細(xì)信息請參考這里。下面我們先創(chuàng)建一個 Asp.NET Core demo 應(yīng)用。
打開 Visual Studio 新建工程,選擇 Web->ASP.NET Core Web Application (.NET Core) 模板。
在新建 ASP.NET Core Web Application (.NET Core) 對話框中選擇 “Web Application” 模板。然后修改 Authentication 的類型為 “Individual User Accounts” 。此時通過模板創(chuàng)建的應(yīng)用就會包含用戶管理的模塊。同時取消 “Host in the cloud” 的選項,然后點(diǎn)擊 OK 按鈕。
Demo 程序就算創(chuàng)建完成了,但是要想讓它正確的運(yùn)行起來還需要一點(diǎn)點(diǎn)的設(shè)置。
按 F5 在本地運(yùn)行 demo 應(yīng)用,點(diǎn)擊 “Register” 去注冊一個新的用戶。當(dāng)您填完信息并按下 “Register” 按鈕后會收到下面的錯誤:
大體的意思是說數(shù)據(jù)庫沒有設(shè)置好,解決的辦法也都在上面說了,一共有三種:
1. 直接點(diǎn)擊 “Apply Migrations” 按鈕。
2. 在 Visual Studio 的 Package Manager Console 中執(zhí)行 “Update-Database” 命令。
3. 執(zhí)行 dotnet ef database update 命令。
這里選擇第二種方式:
然后重新啟動網(wǎng)站并注冊新用戶,一切 OK!
到此,Asp.NET Core Web 應(yīng)用的創(chuàng)建就完成了。
創(chuàng)建 Azure Web App
可以通過不同的方式創(chuàng)建 Azure Web App 服務(wù),比如直接在 Azure 網(wǎng)站上創(chuàng)建。也可以通過 Visual Studio 在發(fā)布應(yīng)用的過程中直接創(chuàng)建 Azure Web App。下面我們將通過演示介紹使用 Visual Studio 創(chuàng)建 Azure Web App 的詳細(xì)步驟。
右鍵已創(chuàng)建的項目名稱,選擇 “Publish”。
這一步需要您輸入您的MS訂閱賬號(Azure上的一切資源都是通過您的賬號進(jìn)行管理的),登錄完成后點(diǎn)擊 new 按鈕開始創(chuàng)建過程:
默認(rèn)的 Service 類型就是 Web App,所以不需要再進(jìn)行配置。下面選擇或者創(chuàng)建 Resource Group/App Service Plan。這里稍微解釋一下,Resource Group 是資源管理的邏輯單位,可以通過 Resource Group 管理其包含的資源,主要是進(jìn)行授權(quán)。App Service Plan 簡單點(diǎn)說就是管理您的資源分配,您花費(fèi)一塊錢和十塊錢顯然是會分配到不同的資源。然后點(diǎn)擊“Explore additional Azure services”開始創(chuàng)建數(shù)據(jù)庫。
我們的應(yīng)用中用到了數(shù)據(jù)庫,所以需要在 Azure 上創(chuàng)建數(shù)據(jù)庫?,F(xiàn)在進(jìn)入數(shù)據(jù)庫創(chuàng)建流程,點(diǎn)擊右側(cè)綠色的加號:
數(shù)據(jù)庫的創(chuàng)建包含兩部分。首先要創(chuàng)建 SQL Server 數(shù)據(jù)庫服務(wù)器,然后在數(shù)據(jù)庫服務(wù)器上創(chuàng)建數(shù)據(jù)庫實(shí)例。
因此在創(chuàng)建數(shù)據(jù)庫時需要先創(chuàng)建數(shù)據(jù)庫服務(wù)器:
下面是創(chuàng)建新的數(shù)據(jù)庫服務(wù)器的界面,請輸入合適的數(shù)據(jù)庫服務(wù)器名稱,并設(shè)置好您的用戶名和密碼,然后點(diǎn)擊 OK 按鈕:
接下來又回到了創(chuàng)建數(shù)據(jù)庫的界面,此時的數(shù)據(jù)庫服務(wù)器已經(jīng)設(shè)置好了,只要再輸入數(shù)據(jù)庫的名稱就可以了。然后點(diǎn)擊 OK 按鈕進(jìn)入下一步:
下面是添加完數(shù)據(jù)庫配置的樣子,直接點(diǎn) Create 按鈕完成所有配置的創(chuàng)建:
至此,我們已經(jīng)完成了 Azure Web App 和云端數(shù)據(jù)庫的創(chuàng)建。接下來看我們?nèi)绾伟?Asp.NET Core 應(yīng)用發(fā)布到 Azure Web App 上去。
部署 Asp.NET Core 應(yīng)用
在完成了 Azure Web App 的創(chuàng)建后我們回到部署過程。在 Connection 選項卡中,其實(shí)我們看到的設(shè)置都是默認(rèn)值,沒有特殊要求的話是不需要修改的。點(diǎn)擊進(jìn)入Settings 選項卡:
基本的配置使用默認(rèn)值就可以了。我們需要選擇使用數(shù)據(jù)庫的連接字符串,和 Apply this migration on publish 就可以了。然后點(diǎn)擊 Publish 按鈕完成往云端的發(fā)布:
根據(jù)您的網(wǎng)絡(luò)狀況,發(fā)布過程可能會持續(xù)上一小會兒。當(dāng)發(fā)布完成后,您就可以在瀏覽器里查看應(yīng)用了。
簡單的測試
我們的應(yīng)用有一個很重要的功能:可以創(chuàng)建用戶并且登錄。在完成發(fā)布后您一定很想測試一下這個功能,因為我們并沒有為創(chuàng)建這個功能做過什么。
下面試著創(chuàng)建一個新的用戶 tester@163.com:
還不錯,創(chuàng)建完成后用戶 tester@163.com 已經(jīng)登錄了。
總結(jié)
本文通過詳細(xì)的操作步驟向大家介紹了 Asp.NET Core 應(yīng)用的創(chuàng)建,并且向 Azure Web App Service 部署的過程。希望對有興趣的同學(xué)有所幫助。也希望大家多多支持腳本之家。
相關(guān)文章
.NET Core 2.1中HttpClientFactory的最佳實(shí)踐記錄
這篇文章主要給大家介紹了關(guān)于.NET Core 2.1中HttpClientFactory的最佳實(shí)踐記錄,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用.net core2.1具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧2018-08-08AspNetPager+GridView實(shí)現(xiàn)分頁的實(shí)例代碼
AspNetPager+GridView實(shí)現(xiàn)分頁的實(shí)例代碼,需要的朋友可以參考一下2013-03-03asp.net實(shí)現(xiàn)刪除DataGrid的記錄時彈出提示信息
這篇文章主要介紹了asp.net實(shí)現(xiàn)刪除DataGrid的記錄時彈出提示信息,非常實(shí)用的功能,需要的朋友可以參考下2014-08-08ASP.NET 網(wǎng)站開發(fā)中常用到的廣告效果代碼
在ASP.NET項目開發(fā)中,會被要求添加廣告,有翻屏效果、有廣告輪流顯示、飄浮廣告、左側(cè)廣告、右側(cè)廣告等。2010-04-04ASP.NET GridView的Bootstrap分頁樣式
這篇文章主要為大家詳細(xì)介紹了ASP.NET GridView的Bootstrap分頁樣式,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11asp.net 需要登陸的網(wǎng)站上下載網(wǎng)頁源代碼和文件
最近有個項目需要從網(wǎng)絡(luò)上下載網(wǎng)頁信息和文件,并且需要登錄后才能下載,所以做了個下載的通用類,供大家參考。2009-05-05關(guān)于Metalama使用Fabric操作項目或命名空間的問題
Metalama是一個基于微軟編譯器Roslyn的元編程的庫,可以解決我在開發(fā)中遇到的重復(fù)代碼的問題,這篇文章主要介紹了Metalama使用Fabric操作項目或命名空間,需要的朋友可以參考下2022-04-04