开始使用ASP.NET Core - 创建第一个Web应用
.NET Core 是.NET Framework的新一代跨平台应用程序开发框架,是微软在一开始发展时就开源的软件平台,由于 .NET Core 的开发目标是跨平台的 .NET 平台,因此 .NET Core 包含 .NET Framework 的类库,但与 .NET Framework 不同的是 .NET Core 所有类库都采用NuGet的管理方式,应用程序只需要获取需要的组件即可,与 .NET Framework 大包式安装的作法截然不同,同时各包亦有独立的版本线 (Version line),不再硬性要求应用程序跟随主线版本。
ASP.NET Core 以控制台应用程序驱动其托管环境 Kestrel Server 以支持 ASP.NET Core 程序的运行。ASP.NET Core 在开发初期时 .NET Core 还没有开始起跑,在 .NET Core 逐渐成熟之后,微软决定将它们集成在一起,ASP.NET Core的运行期和工具 .NET Core 以及 .NET CLI 接替提供。ASP.NET Core 并不是ASP.NET 4.6的升级版本,它是在.NET Core上重新设计的ASP.NET平台,拥有众多的新特性,其中最重要的特性就是实现了跨平台。ASP.NET Core 1.0是微软新一代ASP.NET框架,之前的版本为ASP.NET 4.6。
接下来开始构建第一个ASP.NET Core的Web应用。
搭建开发环境
- 安装Visual Studio和 .NET Core(核心)
- 安装Visual Studio Community 2015,如果已安装请跳过这步。
Visual Studio 2015 Home page installer - 安装 .NET Core + Visual Studio tooling
.NET Core + Visual Studio tooling
创建一个新工程
新建项目:
- 打开“新建项目”对话框
- 找到.NET Core下的“ASP.NET Core Web Application (.NET Core)”选项
- 将项目命名为“CoreMovie”
- 点击“确定”
在弹出的对话框中:
- 选择“Web应用程序”
- 取消勾选“在云中托管”
- 点击“更改身份验证”
选择“个人用户账户”,点击“确定”
稍等片刻,Visual Studio会自动搭建工程的脚手架,完成后的项目结构如下:
添加一个Model类
右键点击“Models”目录>添加>类
创建一个“Movie”类
在类中添加以下属性:
属性“ID”是必须的,将作为数据表的主键
构建“控制器”
右键点击“Controllers”目录>添加>控制器
点击“MVC Controller with views, using Entity Framework”,添加
选择“Movie”模型类和“ApplicationDbContext”数据上下文类,使用默认控制器命名,点击添加
Visual Studio会自动创建CRUD的相关方法和视图模板。
更新数据库
点击快捷键Ctrl+F5开始调试,在地址栏中输入“http://localhost:端口号/Movies”,浏览器会提示如下内容:
这是因为还没有更新数据库,需要通过以下步骤进行更新:
- 打开CMD命令窗口(快捷键Ctrl+R,输入“cmd”,回车)
- 定位到项目根目录下
- 输入以下命令完成数据库更新
DOTNET EF命令
- dotnet (.NET Core) 是.NET的一个跨平台实现
- dotnet ef migrations add Initial 参数“Initial”是任意的,此操作创建的Data/Migrations/_Initial.cs包含迁移文件命令来向数据库添加(或删除)电影表。
- dotnet ef database update 使用刚才创建的迁移更新数据库
测试应用程序
刷新浏览器,可以看到如下页面,点击“Create New”创建新条目
创建完成,一个最基本ASP.NET Core应用程序就创建好了。ASP.NET Core拥有众多提高开发效率的新特性,在接下来的文章中会对部分特性进行介绍。
请尽情享受.NET Core带来的开发快感吧!
本文为作者kMacro原创,转载请注明来源:http://www.jianshu.com/p/a98ebd1a46b2。
开始使用ASP.NET Core - 创建第一个Web应用的更多相关文章
- ASP.NET Core 入门教程 1、使用ASP.NET Core 构建第一个Web应用
一.前言 1.本文主要内容 Visual Studio Code 开发环境配置 使用 ASP.NET Core 构建Web应用 ASP.NET Core Web 应用启动类说明 ASP.NET Cor ...
- 如何在ASP.NET Core中实现一个基础的身份认证
注:本文提到的代码示例下载地址> How to achieve a basic authorization in ASP.NET Core 如何在ASP.NET Core中实现一个基础的身份认证 ...
- 在ASP.NET Core中实现一个Token base的身份认证
注:本文提到的代码示例下载地址> How to achieve a bearer token authentication and authorization in ASP.NET Core 在 ...
- [转]如何在ASP.NET Core中实现一个基础的身份认证
本文转自:http://www.cnblogs.com/onecodeonescript/p/6015512.html 注:本文提到的代码示例下载地址> How to achieve a bas ...
- 温故知新,使用ASP.NET Core创建Web API,永远第一次
ASP.NET Core简介 ASP.NET Core是一个跨平台的高性能开源框架,用于生成启用云且连接Internet的新式应用. 使用ASP.NET Core,您可以: 生成Web应用和服务.物联 ...
- ASP.NET Core 3.0 一个 jwt 的轻量角色/用户、单个API控制的授权认证库
目录 说明 一.定义角色.API.用户 二.添加自定义事件 三.注入授权服务和中间件 三.如何设置API的授权 四.添加登录颁发 Token 五.部分说明 六.验证 说明 ASP.NET Core 3 ...
- ASP.NET Core MVC中构建Web API
在ASP.NET CORE MVC中,Web API是其中一个功能子集,可以直接使用MVC的特性及路由等功能. 在成功构建 ASP.NET CORE MVC项目之后,选中解决方案,先填加一个API的文 ...
- asp.net core 3.0获取web应用的根目录
目录 1.需求 2.解决方案 1.需求 asp.net core 3.0的web项目中,在controller中,想要获取wwwroot下的imgs/banners文件夹下的所有文件: 在传统的asp ...
- 如何使用ASP.NET Core、EF Core、ABP(ASP.NET Boilerplate)创建分层的Web应用程序(第一部分)
本文是为了学习ABP的使用,是翻译ABP官方文档的一篇实战教程,我暂时是优先翻译自己感兴趣或者比较想学习的部分,后续有时间希望能将ABP系列翻译出来,除了自己能学习外,有可能的话希望帮助一些英文阅读能 ...
随机推荐
- 数据结构-单向链表 C和C++的实现
数据结构,一堆数据的存放方式. 今天我们学习数据结构中的 链表: 链表的结构: 链表是一种特殊的数组,它的每个元素称为节点,每个节点包括两个部分: 数据域:存放数据,此部分与数组相同 指针域:存放了下 ...
- Python练习2
[之前发布到本人的51cto博客,现转过来] 无意看到老男孩的博文:合格linux运维人员必会的30道shell编程面试题及讲解 http://oldboy.blog.51cto.com/256141 ...
- Xamarin介绍
郑重声明: 本文非Xamarin使用详解,也没什么有用的干货,只是给不知道Xamarin到底是什么的大家提供一点点微不足道的小介绍,看完以后啥收获都没有也不是没可能的(*/ω\*).so......ε ...
- .net asp mvc 如何从后端返回数据对象
今天在做项目时,有一个需求:获取从控制器返回的数组对象,方法如下 public ActionResult GetAllFiles() { string dir = Server.MapPath(&qu ...
- JavaScript二维码生成——qrcode.js
在开发中,有时候,我们需要根据不同的内容来动态生成二维码,则可以使用qrcode.js这个小插件来实现. 1.qrcode.js文件内容: (1)未压缩(qrcode.js): /** * @file ...
- 我的hibernate学习记录(一)
之前已经过滤一下hibernate的简单的用法,但是近期有点时间,所以重新看下视频,敲下代码,翻下笔记,写博客与大家分享一下. hibernate简介 Hibernate是一个开放源代码的对象关系映射 ...
- NFA的实现
此次发表的是一个不确定的自动机(NFA),它可以根据输入的正规式输出由函数映像表示的结果. 此版本可以输入括号'(',')',但是,实现的过程理解起来有点吃力,所以,在时间允许的情况下,我还将写新文章 ...
- Python杨辉三角形
RT Show me the Code def triangles(): b = [1] while(True): yield b b = [1] + [b[i] + b[i+1] for i in ...
- 201521123057 《Java程序设计》第4周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 2. 书面作业 注释的应用 使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看.(截图) 答: 面向对象 ...
- 201521123026《Java程序设》 第10周学习总结
1. 本章学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 1.守护线程:setDaemon(true or false),如果所有前台线程死亡,守护线程自动结束,一般 ...