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.闲聊 ...
随机推荐
- Backup--备份基础理论
--完整备份:完整备份会备份所有数据的区和少量的日志(日志文件用于恢复数据保持数据一致性).由于差异备份需要依据最后一次完整备份,因此完整备份会清楚一些分配位图数据. --差异备份:差异备份是针对完全 ...
- Linux中VMware虚拟机增加磁盘空间的扩容操作
用VMwareware虚拟机安装的Red Hat Enterprise Linux系统剩余空间不足,造成软件无法正常安装.如果重新装一遍系统就需要重新配置好开发环境和软件的安装配置.通过上网搜集的资料 ...
- httpclient 解析excel
http://www.blogjava.net/jayslong/archive/2011/04/21/convert_xls_and_xlsx_to_csv.html 分享用Java将Excel的x ...
- 如何在linux上安装使用virt-manager
环境是centos6.5-64位操作系统. 1.准备yum源: 将CentOS6-Base-163.repo 下载到目标主机的/etc/yum.repos.d/目录. cd /etc/yum.repo ...
- python difflib详解
difflib -帮助进行差异化比较 这个模块提供的类和方法用来进行差异化比较,它能够生成文本或者html格式的差异化比较结果,如果需要比较目录的不同,可以使用filecmp模块. class dif ...
- __getitem__
如果在类中定义了__getitem__()方法,那么他的实例对象(假设为P)就可以这样P[key]取值.当实例对象做P[key]运算时,就会调用类中的__getitem__()方法.
- 进阶篇:2.2)DFMA运用实例
本章目的:摘录一些DFMA运用的实例,可做参考. 1.DFMA的运用实例 DFMA提供了一个从装配和制造的角度去分析已给定设计的系统方法.采用这种方法可以使得产品结构更简单.性能更可靠.装配和制造的成 ...
- Win10远程连接,出现身份验证错误。远程计算机要求的函数不受支持 这可能是由于CredSSP加密Oracle修正 。
问题: 升级至win10 最新版本10.0.17134,安装最新补丁后无法远程win server 2016服务器,报错信息如下: 出现身份验证错误,要求的函数不正确,这可能是由于CredSSP加密O ...
- mybatis中调用游标,存储过程,函数
在ibatis和Mybatis对存储过程和函数函数的调用的配置Xml是不一样的,以下是针对Mybatis 3.2的环境进行操作的. 第一步配置Mapper的xml内容 <mapper names ...
- R 拆分EXCEL成多个文件
setwd("C:/Rworkfile") install.packages("readxl") library(readxl) www<-read_ex ...