Azure 上部署 ASP.NET Core Web App

简介: 下面我们会通过 Visual Studio 创建一个 ASP.NET Core demo 应用,然后把这个 demo 应用部署到 Azure Web App。通过阅读本文,您将能了解到如何创建 Asp.NET Core 应用程序和如何在Azure上创建 Web App 并部署 Asp.NET Core 应用。

前言

在云计算大行其道的时代,当你要部署一个网站时第一选择肯定是各式各样的云端服务。那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core的网站呢?Azure 的 Web App 服务是个很好的选择。

下面我们会通过 Visual Studio 创建一个 ASP.NET Core demo 应用,然后把这个 demo 应用部署到 Azure Web App。通过阅读本文,您将能了解到如何创建 Asp.NET Core 应用程序和如何在Azure上创建 Web App 并部署 Asp.NET Core 应用。

Azure Web App 是什么?

Web App 是 Azure 提供的用于运行网站和 Web 应用程序的计算资源。如果要简单的打个比方,您可以把它理解为 IIS 下的一个虚拟目录。我们只要把 Web 应用上传到指定的地方它就能提供 Web 服务了。

Azure Web App 具有很多的有点,但我想在这里强调的只有一个:简单!

创建 Asp.NET Core 应用

想通过 Visual Studio 创建 Asp.net Core 应用需要先安装 .net core vs tool,详细信息请参考这里。下面我们先创建一个 Asp.NET Core demo 应用。

打开 Visual Studio 新建工程,选择 Web->ASP.NET Core Web Application (.NET Core) 模板。

db41e538a607b258311d08af26ab66e9117e0809

在新建 ASP.NET Core Web Application (.NET Core) 对话框中选择 “Web Application” 模板。然后修改 Authentication 的类型为 “Individual User Accounts” 。

此时通过模板创建的应用就会包含用户管理的模块。同时取消 “Host in the cloud” 的选项,然后点击 OK 按钮。

bfa91882e7b2e85359202ac5fa6d65a1a7f260ec

Demo 程序就算创建完成了,但是要想让它正确的运行起来还需要一点点的设置。

按 F5 在本地运行 demo 应用,点击 “Register” 去注册一个新的用户。当您填完信息并按下 “Register” 按钮后会收到下面的错误:

55c8f845a37dfb2b36450ef1b117598e088a1e33

大体的意思是说数据库没有设置好,解决的办法也都在上面说了,一共有三种:

  1. 直接点击 “Apply Migrations” 按钮。
  2. 在 Visual Studio 的 Package Manager Console 中执行 “Update-Database” 命令。
  3. 执行 dotnet ef database update 命令。

这里选择第二种方式:

94ad6f170defc35b4066be8738795466e77534c0

然后重新启动网站并注册新用户,一切 OK!

到此,Asp.NET Core Web 应用的创建就完成了。

创建 Azure Web App

可以通过不同的方式创建 Azure Web App 服务,比如直接在 Azure 网站上创建。也可以通过 Visual Studio 在发布应用的过程中直接创建 Azure Web App。

下面我们将通过演示介绍使用 Visual Studio 创建 Azure Web App 的详细步骤。

右键已创建的项目名称,选择 “Publish”。

463dcf70b57ea5f4b95be356664de35cc8b83463

这一步需要您输入您的MS订阅账号(Azure上的一切资源都是通过您的账号进行管理的),登录完成后点击 new 按钮开始创建过程:

256352f1dbabd71a8049bb72241eb311f43cdaf7

默认的 Service 类型就是 Web App,所以不需要再进行配置。下面选择或者创建 Resource Group/App Service Plan。这里稍微解释一下,Resource Group 是资源管理的逻辑单位,可以通过 Resource Group 管理其包含的资源,主要是进行授权。

App Service Plan 简单点说就是管理您的资源分配,您花费一块钱和十块钱显然是会分配到不同的资源。然后点击“Explore additional Azure services”开始创建数据库。

57109e8593457a2a6b94a3d024146055e2da98f9

我们的应用中用到了数据库,所以需要在 Azure 上创建数据库。现在进入数据库创建流程,点击右侧绿色的加号:

8b87e8ac1bdddbb6c3174a481237ee83035d6af3

数据库的创建包含两部分。首先要创建 SQL Server 数据库服务器,然后在数据库服务器上创建数据库实例。

因此在创建数据库时需要先创建数据库服务器:

4840223056e3d79648d8328a2f3beeb6227df847

下面是创建新的数据库服务器的界面,请输入合适的数据库服务器名称,并设置好您的用户名和密码,然后点击 OK 按钮:

3c3ffb17eaaa97e0877189a30659f46c4bdfd1b1

接下来又回到了创建数据库的界面,此时的数据库服务器已经设置好了,只要再输入数据库的名称就可以了。然后点击 OK 按钮进入下一步:

da7490971dacb9f8c783c969f2d5d5e5c5619b2f

下面是添加完数据库配置的样子,直接点 Create 按钮完成所有配置的创建:

31b0b438bc41573e2598312a4032c1eee913ab9f

至此,我们已经完成了 Azure Web App 和云端数据库的创建。接下来看我们如何把 Asp.NET Core  应用发布到 Azure Web App 上去。

部署 Asp.NET Core 应用

在完成了 Azure Web App 的创建后我们回到部署过程。在 Connection 选项卡中,其实我们看到的设置都是默认值,没有特殊要求的话是不需要修改的。点击进入Settings 选项卡:

869fc88a7efa44ce3db95f935b1bdefd36260663

基本的配置使用默认值就可以了。我们需要选择使用数据库的连接字符串,和 Apply this migration on publish 就可以了。然后点击 Publish 按钮完成往云端的发布:

aaa44718ee7c1c2ebe1cfebd4e088ae616afa661

根据您的网络状况,发布过程可能会持续上一小会儿。当发布完成后,您就可以在浏览器里查看应用了。

简单的测试

我们的应用有一个很重要的功能:可以创建用户并且登录。在完成发布后您一定很想测试一下这个功能,因为我们并没有为创建这个功能做过什么。

下面试着创建一个新的用户 tester@163.com:

0cadbb469f4449b271cb475101744d987a3fc183

还不错,创建完成后用户 tester@163.com 已经登录了。

总结

本文通过详细的操作步骤向大家介绍了 ASP.NET Core 应用的创建,并且向 Azure Web App Service 部署的过程。希望对有兴趣的同学有所帮助。


原文发布时间为:2017-12-19

本文来自云栖社区合作伙伴“阿里技术”,了解相关信息可以关注“阿里技术”微信公众号

相关文章
|
24天前
|
应用服务中间件 Linux nginx
【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?Web App Linux 默认使用的 Nginx 版本是由平台预定义的,无法更改这个版本。
134 77
|
28天前
|
C#
【Azure Function】Function App出现System.IO.FileNotFoundException异常
Exception while executing function: xxxxxxx,The type initializer for 'xxxxxx.Storage.Adls2.StoreDataLakeGen2Reading' threw an exception. Could not load file or assembly 'Microsoft.Extensions.Configuration, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The system cannot find the
115 64
|
1月前
|
监控 关系型数据库 MySQL
|
14天前
|
JavaScript API
【Azure Function】Function App门户上的Test/Run返回错误:Failed to fetch
Running your function in portal requires the app to explicitly accept requests from https://portal.azure.cn. This is known as cross-origin resource sharing (CORS).Configure CORS to add https://portal.azure.cn to allowed origins.
|
1月前
|
Windows
【Azure App Service】对App Service中CPU指标数据中系统占用部分(System CPU)的解释
在Azure App Service中,CPU占比可在App Service Plan级别查看整个实例的资源使用情况。具体应用中仅能查看CPU时间,需通过公式【CPU Time / (CPU核数 * 60)】估算占比。CPU百分比适用于可横向扩展的计划(Basic、Standard、Premium),而CPU时间适用于Free或Shared计划。然而,CPU Percentage包含所有应用及系统占用的CPU,高CPU指标可能由系统而非应用请求引起。详细分析每个进程的CPU占用需抓取Windows Performance Trace数据。
100 40
|
2月前
|
网络协议 容器
【Container App】部署Contianer App 遇见 Failed to deploy new revision: The Ingress's TargetPort or ExposedPort must be specified for TCP apps.
Failed to deploy new revision: The Ingress's TargetPort or ExposedPort must be specified for TCP apps.
76 27
|
2月前
|
开发框架 算法 中间件
ASP.NET Core 中的速率限制中间件
在ASP.NET Core中,速率限制中间件用于控制客户端请求速率,防止服务器过载并提高安全性。通过`AddRateLimiter`注册服务,并配置不同策略如固定窗口、滑动窗口、令牌桶和并发限制。这些策略可在全局、控制器或动作级别应用,支持自定义响应处理。使用中间件`UseRateLimiter`启用限流功能,并可通过属性禁用特定控制器或动作的限流。这有助于有效保护API免受滥用和过载。 欢迎关注我的公众号:Net分享 (239字符)
68 1
|
Web App开发 JavaScript iOS开发
何为Web App,何为Hybird App
这些概念听起来很火,当下也很流行,真正理解起来却并非易事。如果让我来全面的解释Web App和Hybird App,我觉得还有些困难。 这篇文章只是我深入了解移动领域开发过程中的不断整理和总结,其中涉及到很多概念,观点,个人的看法,有不确切的地方,欢迎指正。
1561 0
|
20天前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
159 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
1月前
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
122 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈

热门文章

最新文章

  • 1
    MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
  • 2
    原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
  • 3
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 4
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 5
    【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
  • 6
    【Azure Function】Function App出现System.IO.FileNotFoundException异常
  • 7
    1688APP 原数据 API 接口的开发、应用与收益
  • 8
    PiliPala:开源项目真香,B站用户狂喜!这个开源APP竟能自定义主题+去广告?PiliPala隐藏功能大揭秘
  • 9
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
  • 10
    语音app系统软件源码开发搭建新手启蒙篇