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