Azure 部署 Asp.NET Core Web App

在云计算大行其道的时代,当你在部署一个网站时,第一选择肯定是各式各样的云端服务。那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 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) 模板。

在新建 ASP.NET Core Web Application (.NET Core) 对话框中选择“Web Application”模板。然后修改 Authentication 的类型为 “Individual User Accounts” 。此时通过模板创建的应用就会包含用户管理的模块。同时取消“Host in the cloud”的选项,然后点击 OK 按钮。

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

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

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

  1. 直接点击“Apply Migrations”按钮。

  2. 在 Visual Studio 的 Package Manager Console 中执行“Update-Database”命令。

  3. 执行 dotnet ef database update 命令。

这里选择第二种方式:

 

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

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

 

创建 Azure Web App

可以通过不同的方式创建 Azure Web App 服务,比如直接在 Azure 网站上创建。也可以通过 Visual Studio 在发布应用的过程中,直接创建 Azure Web App。下面我们将通过演示介绍使用 Visual Studio 创建 Azure Web App 的详细步骤。

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

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

默认的 Service 类型就是 Web App,所以不需要再进行配置。下面选择或者创建 Resource Group/App Service Plan。这里稍微解释一下,Resource Group 是资源管理的逻辑单位,可以通过 Resource Group 管理其包含的资源,主要是进行授权。App Service Plan 简单点说就是管理你的资源分配,你花费一块钱和十块钱显然是会分配到不同的资源。然后点击“Explore additional Azure services”开始创建数据库。

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

数据库的创建包含两部分。首先要创建 SQL Server 数据库服务器,然后在数据库服务器上创建数据库实例。相关概念可以参考笔者的《迁移 SQL Server 数据库到 Azure SQL 实战》一文,此处不再赘述。

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

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

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

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

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

 

部署 Asp.NET Core 应用

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

 

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

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

 

简单的测试

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

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

 

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

总结

本文通过详细的操作步骤向大家介绍了 Asp.NET Core 应用的创建并且向 Azure Web App Service 上部署的过程。

原文地址:  http://www.cnblogs.com/powertoolsteam/p/Asp_NET_Core_Web_App.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

联想linux笔记本评测,联想(lenovo)G460AL-ITH Linux笔记本电脑CPU测试评测-ZOL中关村在线...

这颗英特尔最新的Core i5 430M双核心处理器基于32nm工艺,核心代号为Arrandate,主频为2.27GHz,共享的三级缓存为3MB。在开启睿频加速时,单核心的主频最高为2.53GHz,并且支持同步超线程技术。同时除了支持上一代处理器所…

SecureCRT连接Linux的操作步骤

https://www.cnblogs.com/Koma-vv/p/11100565.html SecureCRT连接Linux的操作步骤 虚拟机待机:Ctrlg进入 ipconfig是Windows里面的操作 ifconfig是Linux里面的操作 解决方法:右键: 打开终端是:在桌面上,鼠标右键才可…

聊聊并发(四)深入分析ConcurrentHashMap

转载自 聊聊并发(四)深入分析ConcurrentHashMap 术语定义 术语英文解释哈希算法hash algorithm是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表hash table根据设定的哈希函数H(key)和处理冲突方法将一组…

struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Jsp页面

由于要导入好多js文件和cs文件,并且每个页面都需要导入,所以我把公共的导入js和css文件放在了一个jsp里面,在用到的里面直接导入即可, 此项目用到的js文件下载:这里 用到的css文件的下载:这里 公共的导…

整合MyBatis---SpringBoot

整合MyBatis 官方文档:http://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/ Maven仓库地址:https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter/2.1.1 整合测试 1、导入 MyBatis 所需…

c语言 葬礼分号,其实从C语言用分号结尾开始,就是一个悲剧了……

……我该说啥好呢,不懂 pascal 的是你http://www.freepascal.org/docs-html/ref/refsu46.html#x138-14800013.2.1http://www.freepascal.org/docs-html/ref/refsu48.html#x140-15000013.2.3http://www.dragonkiller.nl/Delphi/delphi2009.html#StatementListpascal …

IDEA 底部工具栏没有 Version Control 解决办法

IDEA 底部工具栏没有 Version Control 解决办法 百度了半天 都说VCS配置不对 但是默认IDEA是配置好的 根本不需要修改 忽然看到 工具栏的快捷键 于是 Alt 9 就出现了 完美

一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统

2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客。当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为“希赛网”)个人空间发布过一些…

struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类

主要的业务操作都在这个struts的Action里面,大家来看看: /** * Title: EmpAction.java * Package org.web * Description: TODO该方法的主要作用: * author A18ccms A18ccms_gmail_com * date 2017-4-19 下午8:37:00 * version V1.0 */…

聊聊并发-Java中的Copy-On-Write容器

转载自 聊聊并发-Java中的Copy-On-Write容器 Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后…

android 枚举类型比较大小写,Spring 3.0 MVC绑定枚举区分大小写

如果我有一个像这样的Spring控制器的RequestMapping ...RequestMapping(method RequestMethod.GET, value "{product}")public ModelAndView getPage(PathVariable Product product)产品是一个枚举。例如。 Product.Home当我请求该页面时,mysite.com/ho…

集成SpringSecurity---SpringBoot

集成SpringSecurity 安全简介 在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面&am…

OkHttp上传Json嵌套对象

public static DevInfoVo queryRCP() throws Exception {// 东八区时区Calendar cal Calendar.getInstance(TimeZone.getTimeZone("GMT8:00"));//JSONObject obj JSON.parseObject(JSON.toJSONString(pojo));JSONObject obj new JSONObject();obj.put("Autho…

大新闻!Magic Leap造假,HoloLens即将入华商用

昨天微软搞了大新闻,Terry和Alexi到了深圳,在WinHEC大会上宣布了2017上半年HoloLens正式入华商用。 而唯一竞争对手Magic Leap今天也被曝光其设备造假,各大科技媒体纷纷报道,部分相关报道如下: 【新浪科技】Magic Lea…

struts+hibernate+oracle+easyui实现lazyout组件的简单案例——struts.xml配置详情

最后我们来看一下struts.xml里面是怎么配置的呢&#xff0c; struts.xml: <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://strut…

集合框架 Queue---BlockingQueue详解

转载自 集合框架 Queue---BlockingQueue详解 摘要&#xff1a;本例介绍一个特殊的队列:BlockingQueue,如果BlockingQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到BlockingQueue进了东西才会被唤醒,同样,如果BlockingQueue是满的,任何试图往里存东西的操…

cursor 过滤 android,Android cursor query方法详解

1.cursor query 方法入参public final Cursor query (Uri uri, String[] projection,String selection,String[] selectionArgs, String sortOrder)第一个参数&#xff0c;uri&#xff0c;rui是什么呢&#xff1f;好吧&#xff0c;上面我们提到了Android提供内容的叫Provider&a…

java实现动态验证码源代码——jsp页面

我们通常在其他网站注册或者登陆的时候会发现一个很高大上的验证码&#xff0c;那么怎么用java代码实现呢&#xff1f;下面我给大家贴一下我写的方法&#xff1a; 此文章是写的前台jsp页面的代码&#xff1a; <% page language"java" import"java.util.*&quo…

集成Swagger(API)---SpringBoot

集成Swagger(API) 学习目标: 了解Swagger的概念及作用掌握在项目中集成Swagger自动生成API文档Swagger简介 前后端分离 前端 -> 前端控制层、视图层后端 -> 后端控制层、服务层、数据访问层前后端通过API进行交互前后端相对独立且松耦合产生的问题 前后端集成,前端或者…

win10硬盘修复工具使用教程

DiskGenius 下载地址https://www.diskgenius.cn/download.php https://baijiahao.baidu.com/s?id1651410139210648102&wfrspider&forpc win10硬盘修复工具使用教程 小白一键重装系统 发布时间&#xff1a;19-11-2810:17惠州市早点科技官方帐号&#xff0c;优质创作者…