.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

拾遗

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux——卷

Linux——卷 介绍 最近做的项目&#xff0c;涉及到对系统的一些维护&#xff0c;有些盘没有使用&#xff0c;需要创建逻辑盘并挂载到指定目录下。有些软件需要依赖空的逻辑盘&#xff08;LVM&#xff09;。 先简单介绍一下卷的一些概念&#xff0c;有分区、物理存储介质、物…

M3D: 基于多模态大模型的新型3D医学影像分析框架,将3D医学图像分析从“看图片“提升到“理解空间“的层次,支持检索、报告生成、问答、定位和分割等8类任务

M3D: 基于多模态大模型的新型3D医学影像分析框架&#xff0c;将3D医学图像分析从“看图片“提升到“理解空间“的层次&#xff0c;支持检索、报告生成、问答、定位和分割等8类任务 论文大纲理解1. 确认目标2. 分析过程&#xff08;目标-手段分析&#xff09;核心问题拆解 3. 实…

clickhouse-副本和分片

1、副本 1.1、概述 集群是副本和分片的基础&#xff0c;它将ClickHouse的服务拓扑由单节点延伸到多个节点&#xff0c;但它并不像Hadoop生态的某些系统那样&#xff0c;要求所有节点组成一个单一的大集群。ClickHouse的集群配置非常灵活&#xff0c;用户既可以将所有节点组成…

Redis 集群实操:强大的数据“分身术”

目录 Redis Cluster集群模式 1、介绍 2、架构设计 3、集群模式实操 4、故障转移 5、常用命令 Redis Cluster集群模式 1、介绍 redis3.0版本推出的Redis Cluster 集群模式&#xff0c;每个节点都可以保存数据和整个集群状态&#xff0c;每个节点都和其他所有节点连接。Cl…

C# 从控制台应用程序入门

总目录 前言 从创建并运行第一个控制台应用程序&#xff0c;快速入门C#。 一、新建一个控制台应用程序 控制台应用程序是C# 入门时&#xff0c;学习基础语法的最佳应用程序。 打开VS2022&#xff0c;选择【创建新项目】 搜索【控制台】&#xff0c;选择控制台应用(.NET Framew…

猫咪睡眠:萌态背后的奥秘与启示

猫咪的睡眠&#xff0c;犹如一本充满趣味与奥秘的小书&#xff0c;每一页都写满了它们独特的习性与本能。 猫咪堪称 “睡眠大师”&#xff0c;睡眠时间之长令人咋舌&#xff0c;一天中大约有 12 - 16 个小时在梦乡中度过&#xff0c;幼猫和老年猫甚至能睡更久。它们似乎深谙放…

基于前端技术UniApp和后端技术Node.js的电影购票系统

文章目录 摘要Abstruct第一章 绪论1.1 研究背景与意义1.2 国内外研究现状 第二章 需求分析2.1 功能需求分析2.2 非功能性需求分析 第二章系统设计3.1 系统架构设计3.1.1 总体架构3.1.2 技术选型 3.2 功能架构 第四章 系统实现4.1 用户端系统实现4.1.1 用户认证模块实现4.1.2 电…

用adb命令给APP做压力测试,有什么不同?

压力测试 app做压力测试目的是模拟用户在使用软件时随意向软件发出指令&#xff0c;例如操作app的点击&#xff0c;滑动&#xff0c;返回等一系列随机事件&#xff0c;来检测app的承受能力 第一步&#xff1a;手机安装包需要待测的app 第二步&#xff1a;输入adb start-ser…

2023年西南大学数学建模C题天气预报解题全过程文档及程序

2023年西南大学数学建模 C题 天气预报 原题再现&#xff1a; 天气现象与人类的生产生活、社会经济、军事活动等方方面面都密切相关&#xff0c;大到国家&#xff0c;小到个人&#xff0c;都受到极端天气的影响。2022年6月&#xff0c;全球陆地地区出现了自1850年代末人类有系…

Android 10 Launcher3 删除谷歌搜索

命令行获取页面 手机处于launcher首页 adb shell dumpsys window | findstr mCurrentFocus 输出 mCurrentFocusWindow{9afb34d u0 com.android.launcher3/com.android.launcher3.Launcher} 找到源码路径 packages/apps/Launcher3/ Android10源码 搜索控件 grep -r -n Apps…

LabVIEW机械故障诊断中的传感器选择

在机械设备故障诊断中&#xff0c;传感器是关键设备&#xff0c;用于采集设备运行状态的各种数据。常见的传感器类型和选择方法如下&#xff1a; 1. 振动传感器 用于检测设备运行中的振动特征&#xff0c;常见于旋转机械和轴承故障诊断。 加速度传感器&#xff1a;检测高频振…

JVM和数据库面试知识点

JVM内存结构 主要有几部分&#xff1a;堆、栈、方法区和程序计数器 堆是JVM中最大的一块内存区域&#xff0c;用于存储对象实例&#xff0c;一般通过new创建的对象都存放在堆中。堆被所有的线程共享&#xff0c;但是它的访问时线程不安全的&#xff0c;通常通过锁的机制来保证线…

电子发票汇总改名,批量处理电子发票问题

今天给大家推荐一个财务方面工作的软件。可以帮你解决很多财务。发票方面的问题。 电子发票汇总改名 批量处理电子发票问题 这个软件安装之后。会在桌面上分成三个小软件&#xff0c;分别是修改单位信息、自定义命名规则和电子发票汇总改名。 你可以在这个软件里提取PDF或者of…

用 Python 从零开始构建 LLaMA 3

文章结尾有最新热度的文章,感兴趣的可以去看看。 本文是经过严格查阅相关权威文献和资料,形成的专业的可靠的内容。全文数据都有据可依,可回溯。特别申明:数据和资料已获得授权。本文内容,不涉及任何偏颇观点,用中立态度客观事实描述事情本身 文章有点长(字),期望您能坚…

移植 OLLVM 到 LLVM18,修复控制流平坦化报错

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 前言 把 OLLVM 移植到 LLVM18 后&#xff0c;发现 -fla&#xff08;控制流平坦化&#xff09;并不能正常使用。 关于移植过程可以参考这篇文章 【移植 OLLVM…

MyBatis通过注解配置执行SQL语句原理源码分析

文章目录 前置准备流程简要分析配置文件解析加载 Mapper 接口MapperAnnotationBuilder解析接口方法注解parseStatement 方法详解MapperBuilderAssistant 前置准备 创建一个mybatis-config.xml文件&#xff0c;配置mapper接口 <mappers><!--注解配置--><mapper…

入侵他人电脑,实现远程控制(待补充)

待补充 在获取他人无线网网络密码后&#xff0c;进一步的操作是实现入侵他人电脑&#xff0c;这一步需要获取对方的IP地址并需要制作自己的代码工具自动化的开启或者打开对方的远程访问权限。 1、获取IP地址&#xff08;通过伪造的网页、伪造的Windows窗口、hook&#xff0c;信…

mac 安装graalvm

Download GraalVM 上面链接选择jdk的版本 以及系统的环境下载graalvm的tar包 解压tar包 tar -xzf graalvm-jdk-<version>_macos-<architecture>.tar.gz 移入java的文件夹目录 sudo mv graalvm-jdk-<version> /Library/Java/JavaVirtualMachines 设置环境变…

[SZ901]JTAG高速下载设置(53Mhz)

SZ901最高支持JTAG 53MHz的时钟频率&#xff0c;下载bit文件和固化程序的速度提升非常明显。 首先设置参数 1&#xff0c;将JTAG0 分频系数修改为3 2&#xff0c;设置参数&#xff0c;更新参数。&#xff08;完成&#xff09; 打开VIVADO VIVADO 正常识别FPGA&#xff0c;速…

蓝桥杯刷题——day8

蓝桥杯刷题——day8 题目一题干解题思路代码 题目二题干解题思路代码 题目一 题干 N 架飞机准备降落到某个只有一条跑道的机场。其中第i架飞机在 Ti时刻到达机场上空&#xff0c;到达时它的剩余油料还可以继续盘旋 Di个单位时间&#xff0c;即它最早可以于 Ti时刻开始降落&am…