.NET
文章平均质量分 64
C#ToJava
.NET虽然很有趣,但是以后要做Java喽 -.-。
展开
-
C# 相关知识点
1.表连接的SQL语句,对于内连接 inner join来说,join语句和把条件写在where语句里结果一样,但是对于左连接和右连接就不一样了,例如左连接,on后面的条件只对右表有效,对左表的筛选就要写在where里面。而且join on是先把两张表笛卡儿积组成一张表,再用where条件筛选,对于join很多表来说,从左往右,左边的表越小效率越高。所以尽量把条件写在on里面可以提高效率。2....原创 2018-05-22 14:12:54 · 712 阅读 · 1 评论 -
搭建 一台新的IIS服务器
升级SSL版本,可以解决谷歌浏览器兼容问题,下载IISCrypto.exe 点击第一个按钮,让工具自动帮忙配置,然后勾选第二个,点击应用,重启服务器后生效。除非本地host文件(本地的一个文件,里面加ip和域名的对应关系)配置了IP和域名 否则需要在服务器装一个专门转义的工具。1.安装一大堆iis配置 IIS服务 托管程序之类的 装不了先把360关掉。如果没有专门转换的工具,外部机器想要通过域名访问,就要加host配置。7.防护墙添加入站规则,新建入站规则,选择端口,设定端口范围。原创 2024-02-01 11:28:48 · 296 阅读 · 0 评论 -
单例模式和 getInstance()
单例模式,顾名思义,就是有且只有一个实例,在C#中,一般结合 getInstance()来返回该类唯一的实例注:单例模式:一个类有且只有一个实例。1,一个私有的构造器2,一个私有的该类类型的变量3,要有本类的实例且 有一个方法(getInstance()方法)来返回这个实例范例:public class Singleton{ //用private来修饰,意味着不能被其他...原创 2019-08-06 10:30:42 · 834 阅读 · 0 评论 -
.NET MVC中的同步和异步
有时候做一些耗时操作时,不能让用户等太久,这个时候就可以选择异步方法。对于MVC来说,可以选择控制器中添加异步方法或者AJAX中选择异步执行。首先来说AJAX中设置async: true $("#btnExportKPI").click(function () { var data1 = $("#sysDate1").val(); ...原创 2019-12-30 13:22:59 · 859 阅读 · 0 评论 -
.NET代码中实现Get请求和Post请求
GET请求: private JObject doGet(Dictionary<String, String> param) { JObject jres = new JObject(); object obj = new { notifyType = 1, taCode = strTANO, tradeDt = DateTime.Now.ToString("yyyyMMdd") }; strData原创 2021-01-19 17:46:21 · 317 阅读 · 0 评论 -
.NET深入学习- - 控制反转(依赖注入)
1IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。图1:软件系统中耦合的对象 一块机械手表的工作就类似上面的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从而在表盘上产生正确的时间。图1中描述的就是这样的一个齿轮组,它拥有多个独立的齿轮,这些齿轮相互啮合在一起,协...原创 2020-03-05 15:40:12 · 1116 阅读 · 1 评论 -
.Net高并发解决思路(附源码)
本文如有不对之处,欢迎各位拍砖扶正。另源码在文章最下面,大家下载过后先还原一下nuget包,需要改一下redis的配置,rabbitmq的配置以及Ef的连接字符串。另外使用的是CodeFirst,先update-database生成数据库后再进行操作高并发高并发一直是网站上线后会遇到的一个严峻的考验,渡过了一切都好,渡不过就是宕机。在电商时代如此发达的今天,高并发无此不在双十一 、61...转载 2020-03-04 10:42:54 · 450 阅读 · 0 评论 -
如何保证Api的安全性
APP、前后端分离项目都采用API接口形式与服务器进行数据通信,传输的数据被偷窥、被抓包、被伪造时有发生,那么如何设计一套比较安全的API接口方案呢?一般的解决方案如下:1、Token授权认证,防止未授权用户获取数据;2、时间戳超时机制;3、URL签名,防止请求参数被篡改;4、防重放,防止接口被第二次请求,防采集;5、采用HTTPS通信协议,防止数据明文传输;一、Token授权认证HTTP协议是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户发过来..转载 2020-05-20 17:54:19 · 1722 阅读 · 0 评论 -
自己制作cer/pfx公钥私钥证书和导出CFCA申请证书
1. Windows安装方法OpenSSL官网没有提供windows版本的安装包,可以选择其他开源平台提供的工具。例如http://slproweb.com/products/Win32OpenSSL.html以该工具为例,安装步骤和使用方法如下:1.1 选择32位或者64位合适的版本下载,例如Win64OpenSSL_Light-1_0_2h.exe:1.2 设置环境变量,例如工具安装在C:\OpenSSL-Win64,则将C:\OpenSSL-Win64\bin;复制到Path中2.验.原创 2021-01-26 09:48:01 · 1621 阅读 · 0 评论 -
HTTP、HTTPS、Socket以及从发送请求到得到响应中间发生了什么
一、HTTP协议详解http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式。HTTP协议的主要特点如下:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、PUT、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。原创 2020-08-16 09:50:02 · 327 阅读 · 0 评论 -
内存管理-内存分配
一、CLRCLR即公共语言运行时(Common Language Runtime),是中间语言(IL)的运行时环境,负责将编译后的代码编译成计算机可以识别的机器码,负责资源管理(内存分配和垃圾回收等)。二、内存分配我们知道C#对象分为值类型和引用类型两种值类型:char、int 、float、int、datetime、枚举和结构struct等,值存在于栈中。引用类型:类 (Class) 、String、接口、委托和数组等,声明一个引用类型时,先在栈上分配一个空间等待存储堆中的地址,n转载 2020-07-23 16:39:38 · 237 阅读 · 0 评论 -
内存管理-垃圾回收
做.NET开发的应该都知道,CLR为我们提供了GC(Garbage Collector),垃圾回收机制,使我们在大多数情况下不用刻意去管理内存。但是GC是怎么工作的,是如何工作的,还是有必要了解一下。在学习GC之前,有必要了解GC的工作对象。值类型存放在线程栈上,线程栈是每次调用都会产生,用完自己就会释放。引用类型存放在堆上面,全局共享一个堆,空间有限,所以才需要垃圾回收。一、托管资源和非托管资源1.托管资源由CLR管理的存在于托管堆上的称为托管资源,托管资源的回收工作是不需要人转载 2020-07-24 16:07:12 · 145 阅读 · 0 评论 -
C#基础之反射
看了几篇关于C#反射的帖子,感觉说的太官方了,在没有充足的基础知识储备的情况下是很难理解,后来看到一个人正好提问的帖子,里面有几个通俗点的回答才让我稍微有点明白。问题如下。几位大佬回答中反复提到的有 ①解耦 ②IOC ③工厂模式 ④ 动态加载顺便来看两个实际例子①设计一段程序, 能自动给页面上的表单元素赋值。比如:public class Test{ public string Name { get;set; }}如果:已知一个实际对象:Test t = ne...转载 2020-08-15 21:37:44 · 209 阅读 · 0 评论 -
C# 设计模式
创建型:1.单件模式(Singleton Pattern)2.抽象工厂(Abstract Factory)3.建造者模式(Builder)4.工厂方法模式(Factory Method)5.原型模式(Prototype)结构型:6.适配器模式(Adapter Pattern)7.桥接模式(Bridge Pattern)8.装饰模式(D...转载 2020-08-14 14:15:35 · 102 阅读 · 0 评论 -
C#常用8种排序算法实现以及原理简介
public static class SortExtention { #region 冒泡排序 /* * 已知一组无序数据a[1]、a[2]、……a[n],需将其按升序排列。首先比较a[1]与a[2]的值,若a[1]大于a[2]则交换两者的值,否则不变。 * 再比较a[2]与a[3]的值,若a[2]大于a[3]则交换两者的值,否则不变。再比较a[3]与a[4],以此类推,最后比较a[n-1]与a[n]的值。 *.转载 2020-08-14 14:03:57 · 298 阅读 · 0 评论 -
C# 基础之委托
1.1理解委托1.1.1 将方法作为另一个方法的参数 来看下面这两个最简单的方法,在屏幕上输出一句问候的话语:public void GreetPeople(string name){ EnglishGreeting(name);}public void EnglishGreeting(string name){ Console.WriteLine("Good Morning, " + name);}GreetPeople用于向某人问好,当我们传递代表某...转载 2020-07-27 16:54:08 · 144 阅读 · 0 评论 -
C# MVC项目中添加定时器
有时候我们在项目中会需要添加一些定时器来定时执行某项操作,一、采用 定时器Timer。这种方法适合循环执行的方法,每隔一段时间执行一次实际上这就是新开一个线程,在Global文件 中新写一个方法来声明这个定时器,然后在Application_Start 中调用此方法。Application_Start方法就是当程序被访问的时候会被调用,所以想要执行这些方法我们要确保程序没有被IIS...原创 2019-11-11 17:55:50 · 2653 阅读 · 0 评论 -
Linq中 AsEnumerable() 和 AsIQueryable() 和 Tolist() 的区别
1.AsEnumerable()IEnumberable接口成为迭代器,就一个GetEnumberator()方法;它返回的是一IEnumberator对象这是一个可以循环访问集合的对象,IEnumberator是一个集合访问器。支持foreach语句,IEnumberator定义了Current属性,MoveNext和Reset两个方法;Current用来获取集合中的项,MoveNext方法...原创 2019-08-09 10:36:48 · 1975 阅读 · 0 评论 -
C#常用的几个ORM框架及简单对比
ORM => 对象关系映射(英语:Object Relational Mapping)对于O/R,即 Object(对象)和 Relational(关系型数据),表示必须同时使用面向对象和关系型数据进行开发。ORM框架 用途 => 为了解决 软件项目 与 数据库 打交道的中间层。1.EntityFramework可以直接写LINQ & Limbda语法,使用最为广泛...原创 2018-08-21 09:38:34 · 4347 阅读 · 0 评论 -
.NET Core学习—认识.NET Core
最近在学习ABP框架,其中有些项目模板是基于.NET Core的,而且大家都说.NET Core 是趋势,那我顺便学习一下吧。首先认识一下.NET Core。 MSDN说 ASP.NET Core是一个跨平台,高性能,开放源代码框架,用于构建现代的,基于云的,Internet连接的应用程序。.NET Core 的优势:能够在Windows,macOS和Linux上开发和运行。(最大的...原创 2019-12-12 11:55:04 · 4067 阅读 · 0 评论 -
Core Api学习之搭配Swagger
创建好项目先安装Swashbuckle.AspNetCore 包Startup类的ConfigureServices 方法中添加注册器//注册Swagger生成器,定义一个和多个Swagger 文档services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Mic...原创 2019-07-17 18:50:45 · 198 阅读 · 0 评论 -
EF WebApi搭配Swagger
API搭配Swagger可以更好的展示API中的接口方法和参数,也可以脱离其他测试工具,比如Postman进行测试这里是EntityFramework搭配Swagger1.安装 nuget包Swashbuckle安装完后会发现App_Start下面多了一个Class文件2.可以把里面那些注释掉的内容全部删除,只剩下下面这些内容 public class Swagger...原创 2019-07-21 20:29:47 · 274 阅读 · 0 评论 -
WebApi连接数据库之CodeFirst
.NET下微软官方添加数据库Model大致分为两种,基于EF和 Code First这里先讲Code FirstCode First又分为两种,一种是空code first正如其所言,这种可以在没有数据库及表的情况下建立,数据库会根据我们 Model的情况来生成表和对应的数据库,来验证一下首先新建一个Web Api的Project我就不多说了Models文件夹下先新建了一个...原创 2019-07-26 19:21:39 · 538 阅读 · 0 评论