ASP.NET Core项目中新增和删除的内容
最新一版的.NET几经改名,最终得到了.NET Core这个高大上的名称,相应的ASP.NET MVC也跟着提供了ASP.NET Core MVC版本。
在.NET Core没有稳定名称时,叫做MVC6,模糊记得主推的概念就是MCV的controller和API的controller合二为一了,还没来得及深入了解名称就改了。
目前的版本以及名称已经相对成熟,从.NET社区推荐的热点文章来看,都是针对.NET Core给出的使用介绍。
从最近的了解来看,相比之前ASP.NET版本,是一个全新的框架,程序集包之类的都独立出来了,比较的轻量级,当然能运行在Linux/Mac系统,这是基础核心卖点之一。
还可以使用Visual studio code在非windows平台开发程序,扩宽了.NET开发人员的技能应用范围。
那么新框架跟之前的ASP.NET项目结构比,增加了哪些内容和删除了哪些内容,根据最近的了解做一个简要的整理。
1.Global.asax-》Program.cs
之前版本Global是网站启动的必经之路,因此很多配置都在Application_Start中被设置好。
.NET Core的默认项目中不存在Global.asax文件,取而代之的是Program.cs文件,这个代码文件实际上提供了一个Main方法(第一感觉这是个控制台程序),默认代码创建了WebHost,然后运行这个host。看到Main方法应该很熟悉,也很好理解,程序的主入口嘛,这样也跟其他的非Web .NET程序程序就一致了。
WebHost比较关键的操作是绑定了一个Startup文件,详看接下来的说明。
2.App_Start -》Startup.cs
这个文件夹的放的内容从名称上就看得出来,在ASP.NET 5版本的时候默认保存一些网站启动时候需要执行的配置代码,比如路由,过滤器等。当然都是一些静态文件,需要在Global的Application_Start()中调用。
刚才第一点也提到了,Global.asax不存在了,是通过WebHost绑定了一个Startup.cs文件。
在这个Startup.cs文件了包揽了所以的配置工作,只要在里面执行配置就可以了。
更灵活的是可以根据不同的部署环境提供多个不同的Startup文件。
3.App_Data -》删除
这个文件夹之前版本也很少用到,一般只是做练习将数据放在本地,在.NET Core默认项目中不提供了。
4.Web.Config -》弱化
这个经典的文件从第一版的的ASP.NET就有,到了.NET Core之后还能使用,但是功能已经弱化,新的配置文件都通过appsettings.json提供,配置更加的灵活,相关的读取配置的API也更加精简。
5.Scripts文件夹 -》wwwroot
Scripts文件夹默认放在项目根目录下,当然前端开发负责人会有自己的安排。.NET Core默认吧静态文件都放入到了wwwroot文件夹下,结合bower的管理方式,会提供一个Lib文件夹,然后每一个组件一个文件夹的方式存在。
6.新增Dependencies
这里的Dependencies不是程序集的引用,而是针对客户端的组件的引用,比如使用bower管理,就会提供一个bower文件夹,里面包含了引用的组件的版本信息,类似于nuget。
7.新增project.json
我认为这是最大的变化,之前程序集的引用都是使用nuget提供的packages.config文件来管理依赖的组件,现在都转移到了project.json的dependencies节点中。
project.json的作用不仅仅是管理依赖的程序集,还可以设置目标框架版本、编译、发布选项等。
ASP.NET Core项目中新增和删除的内容的更多相关文章
- 在 ASP.NET Core 项目中使用 npm 管理你的前端组件包
一.前言 在项目的前端开发中,对于绝大多数的小伙伴来说,当然,也包括我,不可避免的需要在项目中使用到一些第三方的组件包.这时,团队中的小伙伴是选择直接去组件的官网上下载,还是图省事直接在网上搜索,然后 ...
- 在 ASP.NET Core 项目中实现小写的路由URL
在 ASP.NET MVC 早期版本中,我们可以通过在应用的 RegisterRoutes 方法中设置 routes.LowercaseUrls = true ; 来将页面的 URL 链接转小写.在 ...
- 在 ASP.NET Core 项目中使用 AutoMapper 进行实体映射
一.前言 在实际项目开发过程中,我们使用到的各种 ORM 组件都可以很便捷的将我们获取到的数据绑定到对应的 List<T> 集合中,因为我们最终想要在页面上展示的数据与数据库实体类之间可能 ...
- 在 ASP.NET Core 项目中使用 MediatR 实现中介者模式
一.前言 最近有在看 DDD 的相关资料以及微软的 eShopOnContainers 这个项目中基于 DDD 的架构设计,在 Ordering 这个示例服务中,可以看到各层之间的代码调用与我们之前 ...
- Captcha服务(后续2)— 改造Captcha服务之Asp.Net Core项目中如何集成TypeScript
环境准备 .Net Core 版本:下载安装.Net Core SDK,安装完成之后查看sdk版本 ,查看命令dotnet --version,我的版本是2.2.101 IDE: Visual Stu ...
- VisualStudio2017中新建的ASP.NET Core项目中的各个文件的含义
Program.cs is the entry point for the web application; everything starts from here. As we mentione ...
- Asp.net Core 项目中如何使用 MongoDB 数据库
内容来源 https://blog.csdn.net/qq_26900081/article/details/83272132 一.添加依赖 1.MongoDB.Driver 2.MongoDB.Bs ...
- ASP.NET Core 项目简单实现身份验证及鉴权
ASP.NET Core 身份验证及鉴权 目录 项目准备 身份验证 定义基本类型和接口 编写验证处理器 实现用户身份验证 权限鉴定 思路 编写过滤器类及相关接口 实现属性注入 实现用户权限鉴定 测试 ...
- k8s+Jenkins+GitLab-自动化部署asp.net core项目
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 此文阅读目录: 1.闲聊 ...
随机推荐
- solr入门教程-较详细
Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境搭建及调试;两个核心配置文件介绍;维护索引;查询索引,和在 ...
- Android View与ViewGroup 关系
View派生出的直接子类有:AnalogClock,ImageView,KeyboardView, ProgressBar,SurfaceView,TextView,ViewGroup,ViewStu ...
- SQL SERVER先判断视图是否存在然后再创建视图的语句
如果我们的语句为: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 IF NOT EXISTS(SELECT 1 FROM sys.views WHERE name='Report_I ...
- 使用纯真IP库获取用户端地理位置信息
引言 在一些电商类或者引流类的网站中经常会有获取用户地理位置信息的需求,下面我分享一个用纯真IP库获取用户地理位置信息的方案. 正文 第一步:本文的方案是基于纯真IP库的,所以首先要去下载最新的纯真I ...
- django DatabaseFunctions
from django.db.functions import ... Cast() 转换类型 value = Value.objects.annotate(field_as_float=Cast(' ...
- php面向对象编程_1
1, php面向对象编程的三大特征: (1) 封装性,封装就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法)才能对数据进行操作. (2) 继承 ...
- IntelliJ IDEA 如何将一个 filename.java 文件直接运行
IntelliJ IDEA 如何将一个 filename.java 文件直接运行 前言: 出于考证需要,手头有许多 *.java 文件需要进行运行.然后出于对 JetBrains 全家桶的喜爱,选 ...
- Linux一些常用的基础命令,总结的很好,收藏了
原文地址:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html
- 虚拟立方体调用非共享维度的时候需要指定cubeName,否则Schema无效
但是,即使把非共享维度放上去,会出现一种情况. 一旦放入资产负债的非公共维度进去后,报表的度量值只能出现资产负债的度量值,不能出现损益的度量值了!
- js 的常用方法和对象
每日分享: 加油!你一定可以!你是最牛逼的!!!-------------------------------------------------------------------------- - ...