.NET重点

B/S  C/S什么语言

B/S:

浏览器端:JavaScript,HTML,CSS

服务器端:ASP(.NET)PHP/JSP

优势:维护方便,易于升级和扩展

劣势:服务器负担沉重

C/S

java/.NET/VC系列

优势:客户端响应速度快

劣势:系统可扩展性和可维护性差

企业级应用系统几层架构

2,3,N(不知道 会不会详细考)


.NET定义

新平台+标准协议+统一开发工具

.NET核心组件

一组创建互联网操作系统的构建块

构建和管理新一代服务的基本结构和工具

能够启用新型智能互联网设备的.NET设备软件


.NET Framework三个主要组成部分

公共语言运行时(CLR)作用:负责整个.NET执行期间的代码管理工作

服务框架

两类应用模版(传统Windows应用程序模版和基于ASP.NET面向web的应用程序模版)

asp.net定义

继ASP后推出的全新动态网页制作技术

.NET Standard 和框架的区别

.NET Framework和.NET Core 区别

.NET Framework:无法独立部署,ASP.NET与IIS深度耦合,不能跨平台

.NET Core:支持独立部署,不依赖IIS,能跨平台

.NET开发工具

.NET CLI:命令行

Visual Studio:只Windows

Visual Studio for Mac

VS Code(Visual Studio Code):跨平台

Nuget命令

安装:Install-Package XXX -version(把依赖组件都下载了)

卸载:Uninstall-Package XXX

更新到最新版:Update-Package XXX

get post 区别

GET:用于获取或查询信息,数据放到URL后,通过Request.QueryString来获取变量值,提交数据大小有限制

POST:用于更新信息,数据放在http包的body中,通过Request.Form来获取变量值,提交数据大小无限制

program.cs作用

此文件中的会创建一个带有预配置默认值的 WebApplicationBuilder,向依赖项注入 (DI) 容器添加 Razor Pages 支持,并生成应用

三种常见的方法可以使用 ASP.NET Core 构建新式 Web UI

服务器控件:从服务器呈现UI的应用

浏览器控件:在浏览器的客户端呈现UI的应用

混合:利用服务器和客户端UI呈现方法的混合应用

依赖注入作用

1.控制器或Razor页面不使用具体类,仅使用他的接口。可以实现更改时,无需修改控制器和页面

2.减少类之间依赖,提高模块独立性

3.让开发者更容易编写单元测试

中间件是什么

中间件是一种在应用管道中处理请求和响应的软件。

(每个中间件组件:选择是否将请求传到管道下一个组件,可在管道下一个组件前后执行

中间件在B/S模式下功能层作用)

中间件用法

C#

C#语言概述-CSDN博客

泛型

一组或一类事物的特性

列表

Contains


字典

ContainsKey


队列 栈

EnQueue

Peek

DeQueue

Push

Pop

Peek


LINQ

概念:LINQ是直接将查询功能集成到C#语言的技术统称。

功能:可以简化数据查询

using System.Linq

方法语法

 查询语法

 orm概念

通过操作C#对象方式来操作数据库。

Entity Framework Core(EF Core)

EF Core 是ORM框架,适用于.NET的新式对象数据库映射器。

核心组件

迁移 反向工程

基本命令

反向工程:管理器控制台的Scaffold-DbContext命令

                或者用命令行接口(CLI)的dotnet ef dbcontext scaffold命令

迁移:创建迁移                   dotnet ef migrations add 迁移名

           更新数据库                dotnet ef database update

           变更模型                    dotnet ef migrations add 迁移名

定义数据库和模型

数据库根据一个派生自DbContext的类建模。这个类包含一个或多个DbSet<T>的类

customer类描述了Custmoers表中数据

注入连接字符串(不考?)

在定义的数据库中重写OnConfiguring,并在其中的UseSqlServer(“连接字符串”)

对不同环境下使用不同连接字段串

同时设置配置文件读取该字符串,用该配置文件来设置 UseSqlServer,这样就可以满足一个连接字符串可以在不同环境下使用

注入dbcontext对象

方法一:直接将当前数据库上下文添加到DI子系统中,从而能在应用程序的任何地方获取该对象,并进行配置作用域为当前请求

方法二:自己创建数据库上下文实例,根据需要为他们分配生存期,并在上下文注入连接字符串

EF Core查询

单次查询

多次查询

方法一

用透明事务将查询结果连接

方法二

方法三

添加

删除

异步作用

可以避免性能瓶颈并增加应用程序的总响应能力

原理

async方法会被C#编译器编译成一个类,会根据await调用切分成多个状态,对async调用会被拆分成MoveNext的调用。

MVC概念

是一种使用了MVC(模型-视图-控制器)设计创建Web应用程序的模式,同时提供了对HTML,CSS和JavaScript的完成控制

三个组件

模型:表示应用程序核心。处理应用程序数据逻辑

视图:展示数据

控制器:处理用户交互

传统路由

显式路由参数

隐式路由参数

特性路由

其思想是,不是在应用程序启动时显式定义一个路由表,而是用专用的路由特性修饰控制器方法。路由特性将在内部填写系统的路由表

 控制器从路由获取数据

从Request获取数据

存在问题:需要知道从什么地方获取值,如URL,查询字符串等,用不同API进行访问

                任何值都返回字符串,需进行类型转换

从RouteDate获取数据

模型绑定

只关注控制器方法收到的数据,忽略数据的获取和来源

默认模型绑定器

绑定基本类型

在请求上下文获取数据,绑定器会寻找可行值,寻找命名值的匹配,如果没有匹配,则参数异常或返回默认值,命中则自动绑定

 

强制从给定来源绑定 

FromQuery ,FromRoute,FromForm强制匹配固定词,如果没有就使用声明的默认值。

匹配city=London,如果没有city=London,则使用声明的默认值

绑定复杂类型 

传送容器类

筛选器分类

操作筛选器

可以通过重写筛选器内方法来决定调用该方法前后做什么 

筛选器可以有同步和异步实现 

提供HTML

终止中间件提供HTML(通过算法完成)

终止中间件是处理请求的一段代码

即一个处理http请求的函数。代码可以做任何操作,浏览器把他作为HTML呈现

从控制器提供HTML内容

在操作方法中提供纯文本(通过算法完成)

Razor模版(通过模版完成)

用视图引擎(调用View)将Razor渲染成HTML

封装了Razor模版和视图模型对象(封装了数据)

调用视图引擎

视图引擎负责从视图(一般是C#加上HTML混合)创建HTML

View方法

视图是一个Razor文件,在View文件夹下

model指出模版中使用数据类型,以生成HTML

ViewResult 对象

将Razor模版名称,母版页视图和视图模型打包成实现IActionResult接口对象。类名为ViewResult

当调用ExecuteResultAsync,触发视图引擎生成HTML 

综合应用 

视图引擎会将视图模版(模板中的占位符将被替换为计算出的数据)和控制器传入数据混合,并进行HTML创建

模版是引擎指定语言(如Razor)

传入数据则封装到字典或强类型对象


 

向视图传递数据

通过@inject指令实现依赖注入(不考)

使用内置字典ViewData

Controller基类提供Viewdata属性,该属性自动刷新到动态创建的RazorPage<T>类实例

意味着控制器ViewData存储任何值都可在视图使用,不用人为操作

使用内置字典Viewbag

使用强类型视图模型类

强类型视图模型类表现更好


 

razor


基本语法


指令

部分题目

 

 

正确

Request.QueryString["uid"]

MSIL

拾遗

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门任务间的通讯-消息队列【入门四】

继续上一篇任务创建 【Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门任务间的通讯-信号量【入门三】-CSDN博客】 今天要实现消息队列进行任务的通讯 一、从上一篇信号量通讯demo拷贝一份重命名&#xff0c;还是之前的两个任务&#xff0c;重命名了。 xTaskCreatePinned…

【AI日记】24.12.22 容忍与自由 | 环境因素和个人因素

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 内容&#xff1a;看 OpenAi 这周的发布会和其他 AI 新闻&#xff0c;大佬视频时间&#xff1a;3 小时 读书 书名&#xff1a;富兰克林自传时间&#xff1a;1 小时评估&#xff1a;读完&#xff0c;总体…

穷举vs暴搜vs深搜vs回溯vs剪枝系列一>电话号码的字母组合

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; private String[] hash {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};private StringBuffer p…

设计模式 -- 单例模式

设计模式 -- 单例模式 单例模式C++ 实现饿汉式单例模式懒汉式单例模式使用静态局部变量实现懒汉式单例模式(推荐)使用call_once实现懒汉式单例模式(推荐)使用静态全局部变量和指针的方式实现懒汉式单例模式(不推荐)双重检测懒汉式单例模式单例模式 单例模式:确保在整个程…

CH430N 插上电脑无反应

电路图&#xff0c;此处我用的是3.3V供电&#xff0c;现象就是插上USB,电脑没有反应。搜索也搜索不到 抄板请看自己是多少V供电 后来看到也有类似的 换了芯片后就好了。md新板子第一个芯片就是坏的&#xff0c;服了。

重拾设计模式--状态模式

文章目录 状态模式&#xff08;State Pattern&#xff09;概述状态模式UML图作用&#xff1a;状态模式的结构环境&#xff08;Context&#xff09;类&#xff1a;抽象状态&#xff08;State&#xff09;类&#xff1a;具体状态&#xff08;Concrete State&#xff09;类&#x…

【MySQL】深入了解索引背后的内部结构

目录 索引的认识&#xff1a; 作用&#xff1a; 索引的使用&#xff1a; 索引底层的数据结构&#xff1a; 哈希表 AVL树 红黑树 B树&#xff1a; B树&#xff1a; B树搜索&#xff1a; 索引的认识&#xff1a; 索引是数据库中的一个数据结构&#xff0c;用于加速查询…

【MySQL】--- 数据类型

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; MySQL &#x1f3e0; 数据类型分类 MySQL是一套整体的对外数据存取方案,既然要存取数据,而数据有不同的类型,因此MySQL也存在不同的数据类型,有不同的用…

电商店铺数据集成到金蝶云星辰V2的实践经验分享

电商店铺数据集成到金蝶云星辰V2的技术案例分享 在电商业务快速发展的背景下&#xff0c;如何高效地将聚水潭平台上的电商店铺数据集成到金蝶云星辰V2系统中&#xff0c;成为了许多企业面临的重要挑战。本文将详细探讨一个实际运行的解决方案——“电商店铺->金蝶客户”&am…

在VBA中结合正则表达式和查找功能给文档添加交叉连接

在VBA中搜索文本有两种方式可用&#xff0c;一种是利用Range.Find对象&#xff08;更常见的形式可能是Selection.Find&#xff0c;Selection是Range的子类&#xff0c;Selection.Find其实就是特殊的Range.Find&#xff09;&#xff0c;另一种方法是利用正则表达式&#xff0c;但…

大腾智能CAD:国产云原生三维设计新选择

在快速发展的工业设计领域&#xff0c;CAD软件已成为不可或缺的核心工具。它通过强大的建模、分析、优化等功能&#xff0c;不仅显著提升了设计效率与精度&#xff0c;还促进了设计思维的创新与拓展&#xff0c;为产品从概念构想到实体制造的全过程提供了强有力的技术支持。然而…

实现Python将csv数据导入到Neo4j

目录 一、获取数据集 1.1 获取数据集 1.2 以“记事本”方式打开文件 1.3 另存为“UTF-8”格式文件 1.4 选择“是” 二、 打开Neo4j并运行 2.1 创建新的Neo4j数据库 2.2 分别设置数据库名和密码 ​编辑 2.3 启动Neo4j数据库 2.4 打开Neo4j数据库 2.5 运行查看该数据库…

MySQL知识汇总(二):select

select语句 -- select语句 select 字段 from 表 -- 查询全部信息 select * from 表 SELECT * FROM student2 -- 查询指定字段 select name from 表 SELECT name FROM student2 -- 起别名 给查询结果用 AS 起个其他的名字&#xff0c;可以是字段也可以是表 SELECT name AS 名字 …

Restaurants WebAPI(二)——DTO/CQRS

文章目录 项目地址一、DTO1.1 创建Restaurant的Dto1.2 修改之前未使用Dto的接口1.2.1 修改GetRestaurantByIdUseCase1.2.2 修改IGetRestaurantByIdUseCase接口1.2.3 再次请求接口1.3 显示Dish List1.3.1创建DishDto1.3.2 在RestaurantDto里添加DishDto1.3.3 使用Include添加Dis…

c++--------c++概念

定义与起源 C是一种高级编程语言&#xff0c;它是C语言的扩展。C由Bjarne Stroustrup在20世纪80年代初开发&#xff0c;最初被称为“C with Classes”。其设计目的是在保持C语言高效性的同时&#xff0c;增加面向对象编程&#xff08;OOP&#xff09;的特性。例如&#xff0c;…

面向对象设计过程的理解和实践

在软件开发的世界里&#xff0c;面向对象设计&#xff08;Object-Oriented Design&#xff0c;简称OOD&#xff09;是一项至关重要的技术。它不仅帮助我们更好地将现实世界的问题转化为软件系统中的对象&#xff0c;还确保这些对象之间能够高效地协同工作&#xff0c;共同实现系…

游泳溺水识别数据集,对9984张原始图片进行YOLO,COCO JSON, VOC XML 格式的标注,平均识别率在91.7%以上

游泳溺水识别数据集&#xff1a; 对9984张原始图片进行YOLO&#xff0c;COCO JSON, VOC XML 格式的标注&#xff0c;平均识别率在91.7&#xff05;以上 &#xff0c;可识别泳池或者水库中是否有人溺水。 数据集分割 训练组98&#xff05; 9818图片 有效集&#xff05;…

Llama3.370B超越GPT-4o和Claude3.5 Sonnet

AI领域日新月异&#xff0c;最近AI 领域发生了太多事情&#xff0c;本文就语言大模型Llama 3.3 70B、GPT-4o 和 Claude 3.5 Sonnet进行对比。 12月7日&#xff0c;Meta今年的最终AI模型将要来了。Meta12月6日发布了Llama 3.3&#xff0c;拥有700亿个参数&#xff0c;但其性能与…

linux内核网络分层概述

在开发应用时&#xff0c;我们使用 socket 实现网络数据的收发。以tcp为例&#xff0c;server端通过 socket, bind, listen来创建服务端&#xff0c;然后通过 accept接收客户端连接&#xff1b;客户端通过 socket和 connect系统调用来创建客户端。用于数据收发的系统调用包括 s…

【全栈实战】基于 Vue3 + Wot Design Uni 动手封装组件

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f60a;好久没有更新有关前端实战教程了&#xff0c;本文主要讲解【全栈实战】基于 Vue3 Wot Design Uni 动手封装组件&#xff01; &#x1f60a;这个教程你将会学到技术正确的选型、…