开始使用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系列翻译出来,除了自己能学习外,有可能的话希望帮助一些英文阅读能 ...
随机推荐
- js获取ip地址,操作系统,浏览器版本等信息,可兼容
这次呢,说一下使用js获取用户电脑的ip信息,刚开始只是想获取用户ip,后来就顺带着获取了操作系统和浏览器信息. 先说下获取用户ip地址,包括像ipv4,ipv6,掩码等内容,但是大部分都要根据浏览器 ...
- Java温故而知新-杨辉三角形
Java温故而知新-杨辉三角形 一. 先说需求 需求 打印输出杨辉三角形,行数可变,支持50行内的任意数. 预期结果如图所示 1 这是第几行呢,是第1 1 1 这是第几行呢,是第2 1 2 1 这是第 ...
- Django 学习笔记(六)MySQL配置
环境:Ubuntu16.4 工具:Python3.5 一.安装MySQL数据库 终端命令: sudo apt-get install mysql-server sudo apt-get install ...
- 【前端】Github Pages 与域名关联简明教程
Github Pages 与域名关联简明教程 1. 向你的 Github Pages 仓库添加一个CNAME(一定要*大写*)文件 其中只能包含一个顶级域名,像这样: example.com 如果你是 ...
- SQL Server内存
背景 最近一个客户找到我说是所有的SQL Server 服务器的内存都被用光了,然后截图给我看了一台服务器的任务管理器.如图 这里要说明一下任务管理器不会完整的告诉真的内存或者CPU的使用情况,也就是 ...
- ctf常见php弱类型分析
1. 布尔反序列化 $unserialize_str = $_POST['password']; $data_unserialize = unserialize($unserialize_str); ...
- Python自学日志_2017/9/05
9月5日今天早晨学习了网易云课程<Python做Web工程师课程>提前预习课程<学会开发静态网页>.轻松的完成了第五节课的两个实战作业--感觉自己这几天的功夫没有白费,总算学会 ...
- 1000以内完全数(完美数)获取实现---基于python
"""题目: 如果一个数恰好等于它的因子之和,则称该数为"完全数" .各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的 ...
- input长度随输入内容动态变化 input光标定位在最右侧
<input type="text" onkeydown="this.onkeyup();" onkeyup="this.size=(this. ...
- tomcat配置不用访问工程名
<Host name="localhost" appBase="/server/webapps" unpackWARs="true" ...