编程语言
首页 > 编程语言> > C# 杂七杂八知识点

C# 杂七杂八知识点

作者:互联网

本文源自在工作过程中一些比较容易混淆或者理解不太清晰的知识点进行整理备忘。

sealed修饰符

当sealed关键字修饰类,该类不能被继承。

当sealed关键字修饰方法的时候,该方法不能在其子类中重写。

abstract class

抽象类不能被实例化

抽象类中可以包含抽象方法(只有声明没有实现,供继承者override)也可以包含非抽象方法

Session 和 cookie的关系

想要搞清楚Session,得先搞清楚Cookie,因为Session是配合Cookie使用的。

HTTP是无状态的,无记忆的,对于服务器每一次客户端的访问都是一次全新的访问,上一次的结果参数都没有记忆,这就带来一个问题,当我们在登录状态的时候,用户信息每次都需要传送到服务器,1是将用户信息传参过程中的安全问题,2这样重复的大量的传参操作。那么怎么解决这个问题呢?Session应运而生,Session将用户登录信息存储到服务器端,并为其分配一个sessionId,第一次建立会话服务器端SessionId会保存到客户端cookie,之后每次请求都会带上这个SessionId,服务器根据SessionId可以找到对应的Session数据,从而不需要传送用户信息这些敏感信息。

安全

@Html.AntiForgeryToken() 用来防止CSRF攻击

客户端会保存cookie key= __RequestVerificationToken

值类型和引用类型

引用类型包括:数组,类和字符串。

引用类型使用new运算符将变量与计算机内存中的值关联。

值类型变量会将其值直接存储在名为堆栈的存储区域中。堆栈是为 CPU 上当前运行的代码分配的内存(也称为堆栈帧或激活帧)。 堆栈帧执行完毕后,堆栈中的值将被删除。

引用类型变量会将其值存储在名为的单独内存区域中。 堆是一个内存区域,由操作系统上运行的多个应用程序同时共享。 .NET 运行时与操作系统进行通信以确定可用的内存地址,并请求可存储该值的地址。 .NET 运行时会存储值,然后将内存地址返回给变量。 当代码使用变量时,.NET 运行时会无缝查找变量中存储的地址,并检索其中存储的值。

标签:知识点,存储,变量,C#,杂七杂八,Session,cookie,内存,堆栈
来源: https://www.cnblogs.com/cheery-go/p/15764950.html