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 运行时会无缝查找变量中存储的地址,并检索其中存储的值。
数据库连接字符串,如果有多个实例:
数据库多个实例字符串:
第一个默认实例:Server:IP或计算机名
第二个实例:Server: IP或计算机名\实例名,端口号
如果使用windows身份认证连接字符串三部分:server=xxx;database=dbname;integrated security=true;
C# 杂七杂八知识点的更多相关文章
- python杂七杂八知识点
1.中文编码问题解决办法:# _*_ coding:UTF8 _*_ 2.numpy.ndArray a = array([[1,2,3], [4, 5, 6]]) 3.numpy.argsort() ...
- [Bayesian] “我是bayesian我怕谁”系列 - Exact Inference
要整理这部分内容,一开始我是拒绝的.欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列. 但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有 ...
- swiper快速切换插件(两个综合案例源码)
swiper快速切换插件 swiper.js自己去官网下载哈.先来一个tab切换案例: demo.html <!doctype html> <html> <head> ...
- Python面向对象:杂七杂八的知识点
为什么有这篇"杂项"文章 实在是因为python中对象方面的内容太多.太乱.太杂,在写相关文章时比我所学过的几种语言都更让人"糟心",很多内容似独立内容.又似相 ...
- ASP.NET Core 中的那些认证中间件及一些重要知识点
前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...
- ASP.NET MVC开发:Web项目开发必备知识点
最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...
- UWP开发必备以及常用知识点总结
一直在学UWP,一直在写Code,自己到达了什么水平?还有多少东西需要学习才能独挡一面?我想对刚接触UWP的开发者都有这种困惑,偶尔停下来总结分析一下还是很有收获的! 以下内容是自己开发中经常遇到的一 ...
- C#高级知识点&(ABP框架理论学习高级篇)——白金版
前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日 ...
- lucene 基础知识点
部分知识点的梳理,参考<lucene实战>及网络资料 1.基本概念 lucence 可以认为分为两大组件: 1)索引组件 a.内容获取:即将原始的内容材料,可以是数据库.网站(爬虫).文本 ...
随机推荐
- Git配置多个github账号免密登录
在公司开发中,有时候会存在公司账户跟私人账户共存,并随时需要切换的情况,这种情况下git可以配置多个ssh-key,无缝切换账号. 假如有两个github账号,一个是私人github账号,一个是公司g ...
- CentOS卸载自带的JDK
一般在配置JDK之前要卸载CentOS自带的openjdk,接下来演示如何卸载自带的openjdk 进入root模式 查看jdk是否已经安装jdk rpm -qa | grep jdk 3. 卸载op ...
- Ubuntu20.04 安装MongoDB及其基本使用
MongoDB 官方文档 本博客旨在自我学习使用,如有任何疑问请及时联系博主 基本介绍 MongoDB 是由C++语言编写并基于分布式文件存储的开源数据库. MongoDB 是一款介于关系数据库和非关 ...
- JIRA 测试循环的创建和使用
3.测试循环 3.1测试循环的创建 测试人员编写完测试用例,并评审通过后:测试负责人可以计划测试循环. 点击JIRA 选择列表栏中的"测试".点击"计划循环测试 ...
- C++职工管理系统
目录 职工管理系统 一. 需求 二. 创建管理类 1.创建文件 2. 头文件实现 3. 源文件实现 三. 菜单功能 1. 添加成员函数 2. 功能实现 3. 测试菜单功能 四. 退出功能 1. 提供功 ...
- 垃圾陷阱 && [NOIP2014 提高组] 飞扬的小鸟
#include<bits/stdc++.h> using namespace std; int d,n,dp[1010]; struct node{int t,f,h;} a[1010] ...
- vscode分栏显示快捷键
vscode没有默认的分栏快捷键,我们可以自定义,步骤如下: 1.Crtl + k,再Ctrl + s,调出快捷键设置面板 2.在搜索栏输入"视图:",在未定义快捷键的区域找到&q ...
- 带你掌握Redis数据类型:string和Hash
摘要:Redis中有五大数据类型,分别是String.List.Set.Hash和Zset. 本文分享自华为云社区<Redis的string类型常用命令解析>,作者:灰小猿 . 先问大家一 ...
- Linq连接和Sql Server连接
最近在研究连接的时候,被困惑了
- Qt:QVector
0.说明 template <typename T> class QVector QVector是存储同一个类型T数据的模板类,其功能是动态数组,数据在其中的存储是一系列连续的存储空间. ...