- 博客(304)
- 资源 (28)
- 收藏
- 关注
原创 C# 使用WinSCP方法 类库、脚本
官网下载:WinSCP :: WinSCP官网C#示例:WinSCP .NET Assembly and COM Library :: WinSCP(全程英文,其他内容建议在园内搜索,其他地方好多没有用的内容浪费时间)引用类库:WinSCPnet.dll执行程序:WinSCP.exe (放在项目根目录中,没有此文件类库无法独立运行)难点:SshHostKeyFingerprint = “ 给定的密钥” 如果你不知道密钥没有关系,使用WinSCP.exe 程序,添加一个连接方式并登录。...
2022-04-09 14:21:23
3751
转载 C# 彻底搞懂async/await
关键:异步方法:在执行完成前立即返回调用方法,在调用方法继续执行的过程中完成任务。async/await 结构可分成三部分: (1)调用方法:该方法调用异步方法,然后在异步方法执行其任务的时候继续执行; (2)异步方法:该方法异步执行工作,然后立刻返回到调用方法; (3)await 表达式:用于异步方法内部,指出需要异步执行的任务。一个异步方法可以包含多个 await 表达式(不存在 await 表达式的话 IDE 会发出警告)。一、What's 异步?...
2022-03-08 18:07:44
16999
4
原创 C# 还原Nuget包失败的解决方法
前言只要从事软件开发的工作,系统架构是必备知识。有朋友说可能会说,我只是一个搬砖的,怎么会接触到架构知识呢?其实,除了架构的设计者(也就是架构师),作为普通的开发者也是在时刻践行着系统架构的理论。毕竟,再好的架构,都需要码农去实施。只不过当你没有系统了解软件架构时,可能感知不到而已。本篇文章就带大家系统的了解一下软件架构的分层,学习完毕,你就会明白,为什么系统要分层。同时,也能准确的看清楚目前自己系统中采用的是什么样的分层架构。不采用架构分层,行不行?首先我们来思考一个问题,如果一个系统不采用分
2021-08-21 05:47:35
9430
1
转载 Visual Studio 远程调试
当你将.NET程序发布到不同机子时候,想要进行调试,但机子不足以安装VS或安装VS麻烦,可以考虑使用远程调试,这里以C#项目为例,asp.net方法略有不同原理:首先安装VS远程调试工具,有俩种安装方法:方式一:从官网下载(官方案例中的连接已经失效,所以用下面这个连接,选择发布程序对应的处理器(非系统))https://visualstudio.microsoft.com/zh-hans/downloads/方式二:打开vs的安装路径,直接获得工具,例如:C:\Pro
2021-06-22 10:06:13
395
原创 如何封装一个Ajax函数
如何封装Ajax函数一个Ajax函数: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // 一个Ajax函数 var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest; }else{ xhr = new ActiveXOb...
2021-05-10 12:16:40
157
转载 Ajax常用封装库——Axios的使用
Axios 是目前应用最为广泛的 AJAX 封装库Axios的特性有:从浏览器中创建XMLHttpRequests 从 node.js 创建http请求 支持PromiseAPI 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数据 客户端支持防御XSRF使用axios时,需要通过使用script标签引入:https://unpkg.com/axios/dist/axios.min.jsaxios的中文网链接:Axios中文网Axios API...
2021-05-10 12:15:44
317
原创 FIX协议介绍
定义FIX协议是由国际FIX协会组织提供的一个开放式协议,目的是推动国际贸易电子化的进程,在各类参与者之间,包括投资经理、经纪人,买方、卖方建立起实时的电子化通讯协议。FIX协议的目标是把各类证券金融业务需求流程格式化,使之成为一个个可用计算机语言描述的功能流程,并在每个业务功能接口上统一交换格式,方便各个功能模块的连接。协议工作原理通信模型及基本概念通信模型Initiator :发起者,建立通信连路,通过发送初始Logon消息发起会话的参与方。Acceptor :接收方 FIX会话的接收方。
2021-03-30 11:14:31
1306
原创 token作用实现原理以及登录验证机制图解
1:首先,先了解一下request和session的区别request 指在一次请求的全过程中有效,即从http请求到服务器处理结束,返回响应的整个过程,存放在HttpServletRequest对象中。在这个过程中可以使用forward方式跳转多个jsp。在这些页面里你都可以使用这个变量。request是用户请求访问的当前组件,以及和当前web组件共享同一用户请求的web组件。如:被请求的jsp页面和该页面用指令包含的页面以及标记包含的其它jsp页面;Session是用户全局变量,在整个会话...
2020-06-16 18:20:14
727
转载 token作用实现原理以及登录验证机制图解
原理后端不在存储认证信息,而是在用户登录的时候生成一个token,然后返回给前端,前端进行存储,在需要进行验证的时候将token一并发送到后端,后端进行验证加密的方式:对称加密和非对称加密,对称加密指的是加密解密使用同一个密钥,非对称加密使用公钥和私钥,加密用私钥加密,解密用公钥解密主要流程:用户登录的时候,生成token,token 中应该包含 payload (数据) cert (密钥) 确定加密方式返回给前端 cookie,前端进行存储前端在进行数据请求的时候发送token到后端后
2020-06-16 18:17:17
1548
原创 简单理解token机制
在简单理解cookie/session机制这篇文章中,简要阐述了cookie和session的原理。本文将要简单阐述另一个同cookie/session同样重要的技术术语:token。什么是tokentoken的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。简单token的组成;uid(用户唯一的身份标识)、tim
2020-06-16 18:04:00
215
原创 sql server 查看索引碎片大小,并定期重建索引
查看碎片情况使用 dbcc showcontig 函数来进行代码:--改成当前库use DB_Name--创建变量 指定要查看的表declare @table_id intset @table_id=object_id('TableName')--执行dbcc showcontig(@table_id)DBCC SHOWCONTIG是显示指定的表的数据和索引的碎片信息。解释如下:Page Scanned-扫描页数:如果你知道行的近似尺寸和表或索引里的行数,那么你可以估计出索.
2020-06-15 15:18:06
555
转载 SQL Server 重建索引|索引重组|索引的碎片检查
什么是索引碎片呢?由于表上有过度地插入、修改和删除操作,索引页被分成多块就形成了索引碎片,如果索引碎片严重,那扫描索引的时间就会变长,甚至导致索引不可用,因此数据检索操作就慢下来了。检查索引碎片SELECT OBJECT_NAME(dt.object_id) , si.name , dt.avg_fragmentation_in_percent, dt...
2020-06-15 15:16:22
672
转载 [笔记整理]SQL Server 索引碎片 和 重建索引
铺垫知识点:数据库存储本身是无序的,建立了聚集索引,会按照聚集索引物理顺序存入硬盘。既键值的逻辑顺序决定了表中相应行的物理顺序多数情况下,数据库读取频率远高于写入频率,索引的存在 为了读取速度牺牲写入速度页 为最小单位 8kb区物理连续的页(8页)的集合内部碎片 数据库页内部产生的碎片,外部反之碎片的产生:有一个表里有8条数据,已经将一页填满,这个时候要插入第九条数据,页也就分裂了。这就产生了内部碎片。如下图所示(excel示意一下 懒癌晚期)注: 不会将9单独...
2020-06-15 15:14:38
634
转载 浅谈 exists 和 in 的执行原理及使用场景
exists的执行原理:对外表做loop循环,每次loop循环再对内表(子查询)进行查询,那么因为对内表的查询使用的索引(内表效率高,故可用大表),而外表有多大都需要遍历,不可避免(尽量用小表),故内表大的使用exists,可加快效率;in的执行原理是把外表和内表做hash连接,先查询内表,再把内表结果与外表匹配,对外表使用索引(外表效率高,可用大表),而内表多大都需要查询,不可避免...
2019-11-19 16:22:46
221
转载 C#反射详解
反射定义 反射提供了封装程序集、模块和类型的对象(Type类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了特性,可以利用反射对它们进行访问。【MSDN】使用场景需要访问程序元数据的特性。 检查和实例化程序集中的类型。 在运行时构建新类型。使用System.Reflection.Emit中的类。 执...
2019-11-08 16:43:38
243
原创 C# task和timer实现定时操作
C#中,定时器,或者叫作间隔器,每隔一段时间执行一个操作。1.Timer本身就是多线程C#中为不同场合下使用定时器,提供了不同的Timer类,在asp.net中一般使用System.Timers.Timer。这个类也很简单,在微软官方文档可以查看如何使用。C#的timer,本身就封装了线程的操作,所以使用timer不用考虑再开一个线程,它已经是了。2.Task实现定时器我们可...
2019-09-05 14:47:25
3448
原创 C#使用Timer.Interval指定时间间隔与指定时间执行事件
C#中,Timer是一个定时器,它可以按照指定的时间间隔或者指定的时间执行一个事件。指定时间间隔是指按特定的时间间隔,如每1分钟、每10分钟、每1个小时等执行指定事件;指定时间是指每小时的第30分、每天10:30:30(每天的10点30分30秒)等执行指定的事件;在上述两种情况下,都需要使用 Timer.Interval,方法如下:1、按特定的时间间隔:using Syste...
2019-09-05 14:46:31
5743
原创 保留小数的位数,不四舍五入
double m1 = 12.3476;//保留两位小数double m3 = Math.Truncate(m1 * 100) / 100;//得到结果是:12.34
2019-08-02 10:21:43
417
原创 主线程处理子线程的异常
一直接在主线程捕获子线程异常(此方法不可取)using System;using System.Threading;namespace CatchThreadException{ class Program { static void Main(string[] args) { try ...
2019-07-30 09:57:45
722
原创 SQL Server中@@ROWCOUNT的用法
SQL Server中@@ROWCOUNT返回受上一语句影响的行数,返回值类型为 int 整型。如果行数大于 20 亿,则需要使用 ROWCOUNT_BIG。@@ROWCOUNT和@@ERROR变量的值,在执行完一条语句后总是会发生变化,所以我们将他们作为判断的依据的时候应该首先保存在局部变量中。他们反映的都是紧接着的上一条语句对他们的影响!我们通常可以通过update、insert语句...
2019-07-25 17:36:09
1468
原创 Merge的用法
Merge关键字是一个神奇的DML关键字。它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句。MSDN对于Merge的解释非常的短小精悍:”根据与源表联接的结果,对目标表执行插入、更新或删除操作。MERGE 目标表USING 源表ON 匹配条件WHEN MATCHED THEN语句WHEN NOT MATCHED...
2019-07-05 09:57:58
2940
原创 IIS7.5标识介绍
应用程序池的标识是运行应用程序池的工作进程所使用的服务帐户名称。默认情况下,应用程序池以 Network Service用户帐户运行,该帐户拥有低级别的用户权限。您可以将应用程序池配置为以 Windows Server® 2008操作系统中的内置用户帐户之一运行。例如,您可以指定Local System用户帐户,此帐户与 Network Service或 Local Service内置用...
2019-05-16 18:50:30
280
转载 Fiddler 抓包工具总结
序章Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能用了之后就忘记了,每次去网站上找也很麻烦,所以搜集各大网络的资料,总结了一些常用的功能。Fiddler 下载地址 :https://www.telerik.com/download/...
2019-03-26 12:02:08
176
原创 C# Async与Await用法
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Threading.Tasks;namespace CloudLearning.UI{ class Program { ...
2019-01-15 14:25:31
526
转载 四种常见的 POST 提交数据方式对应的content-type取值
application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了。浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。请求类似于下面这样(无关的请求头在本文中都省略掉了): POST http://www.example.com HTTP...
2019-01-08 16:43:06
974
原创 .netMVC:Web页面向后台提交数据的方式和选择
众所周知Web前端页面主要由HTML/CSS/Javascript组成,当要通过与用户的交互实现各种功能时,就需要向后台提交一些数据或者操作。在Web世界里各种实现眼花缭乱,但究其根本,不外乎三种方式,这也是由前端脚本、浏览器与后台交互规则决定的。1、通过表单提交这是HTML支持最传统的提交方法,需要创建表单,然后表单包含各种类型的表单元素,还要有一个提交按钮,通过提交按钮来提交到后台,这...
2018-11-15 10:54:16
432
转载 websocket-sharp使用手册
Welcome to websocket-sharp!websocket-sharp supports:RFC 6455 WebSocket Client and Server Per-message Compression extension Secure Connection HTTP Authentication Query String, Origin header an...
2018-10-12 13:55:48
7346
转载 Websocket(一)——原理及基本属性和方法
初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTTP 协议做不到服务器主动向客户端推送信息。WebSocket 协议在2008年诞生,2011年成为国际标准。...
2018-10-12 10:39:49
3231
1
原创 HTML5 WebSocket
WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,...
2018-10-12 09:57:09
205
转载 基于WebSocketSharp 的IM 简单实现
WebSocketBehaviorWebSocketBehavior是核心对象,他包含了OnOpen,OnMessage,OnClose,OnError四个方法以及一个Sessions对象。熟悉websocket的都知道前四个方法是用来处理客户端链接、发送消息、链接关闭以及出错。sessions就是用来管理所有的回话连接。每产生一个连接,都会有一个新Id,sessions中会新增一个IWebS...
2018-10-08 17:59:06
2234
原创 c#版本的websocket服务
当前有一个需求,需要网页端调用扫描仪,javascript不具备调用能力,因此需要在机器上提供一个ws服务给前端网页调用扫描仪。而扫描仪有一个c#版本的API,因此需要寻找一个c#的websocket库。java里有大名鼎鼎的netty,通过搜索,c#可以选择websocket-sharp来实现websocket Server。使用websocket-sharp创建websocket se...
2018-10-08 17:52:33
1549
转载 ArrayBuffer和TypedArray,以及Blob的使用
阅读目录 前端使用TypedArray编辑二进制 FileReader读区blob文件 blob转化为typedArray 参考:回到顶部 前端使用TypedArray编辑二进制 ES6提供了, ArrayBuffer和TypedArray, 让前端也可以直接操作编辑二进制数据, 网页中的类型为file的input标签, 也可以通过FileReader转化为二进制...
2018-09-29 00:01:41
513
转载 HTML5新特性之文件和二进制数据的操作
历史上,JavaScript无法处理二进制数据。如果一定要处理的话,只能使用charCodeAt()方法,一个个字节地从文字编码转成二进制数据,还有一种办法是将二进制数据转成Base64编码,再进行处理。这两种方法不仅速度慢,而且容易出错。ECMAScript5引入了Blob对象,允许直接操作二进制数据。Bolb对象是一个代表二进制数据的基本对象,在它的基础上,又衍生出一系列相关的API...
2018-09-28 23:59:56
243
转载 SQL语句执行效率及分析
1.关于SQL查询效率,100w数据,查询只要1秒,与您分享:机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试,比较两种查询的性能SQL查询效率 step by step-- setp 1.-- 建表create table t_userinfo(userid int identit...
2018-08-21 17:33:52
548
原创 索引的升降序
1.在创建索引的时候,如果索引中的数据列只有一个,那么不管是升序还是降序的定义,在查询中使用成本都是一样的。2.如果索引中的数据列有多个,那么每一个列的升序和降序就非常的重要,如果在查询中的列的排序和索引中定义的不一样,成本就很大,反正,就很小。联合索引是由多个字段组成的索引。唯一索引是使用索引可快速访问数据库表中的特定信息。查询时使用联合索引的一个字段,如果这个字段在联合索引中所...
2018-08-20 10:43:40
4600
转载 C#使用ServiceController控制windows服务
C#中,使用ServiceController类控制windows服务,使用之前要先添加引用:System.ServiceProcess,然后在命名空间中引用:using System.ServiceProcess。下面举例获取本机的所有已安装的Windows服务和应用,然后查找某一应用活服务是否已经安装。代码: using System; using Sy...
2018-07-31 16:53:02
7737
转载 关于C#创建windows服务的测试与总结
关于C#创建windows服务的测试与总结。.NET中安装服务很麻烦,即要创建Service,又要创建ServiceInstall,最后还要弄一堆命令来安装和卸载。今天给大家提供一种方式(经过测试),直接使用这样的程序来安装/卸载服务,并且可以让一个exe即能直接运行也可以安装为windows服务(运行exe文件时需要以管理员身份运行,卸载服务也需要管理员身份,否则可能会报错,并且在程序中直...
2018-07-31 16:52:22
907
转载 谈谈C#文件监控对象FileSystemWatcher使用感受
最近在项目中有这么个需求,就是得去实时获取某个在无规律改变的文本文件中的内容。首先想到的是用程序定期去访问这个文件,因为对实时性要求很高,间隔不能超过1S,而且每次获取到文本内容都要去分发给WEB服务器做别的操作,而那个文本的写入有时候会频繁,1秒可能多次,但是也有可能在相当长一段时间内是没有任何写入的。这样一来如果每秒都去访问文件的话,一个是IO问题,还有就是每次操作都会引起后端一系列程序的...
2018-07-31 14:49:05
1314
转载 C# BackgroundWorker用法详解
在C#程序中,经常会有一些耗时较长的CPU密集型运算,如果直接在 UI 线程执行这样的运算就会出现UI不响应的问题。解决这类问题的主要途径是使用多线程,启动一个后台线程,把运算操作放在这个后台线程中完成。但是原生接口的线程操作有一些难度,如果要更进一步的去完成线程间的通信就会难上加难。还好 .NET 类库中提供了一个叫做 BackgroundWorker 的类可以比较优雅的解决这类问题。虽然B...
2018-07-31 14:22:12
255
转载 委托和事件的区别
首先,我们知道委托和事件都可以用来调用跟自己方法签名一样的方法。容易混淆大家的地方大多在于这两者之间的区别。从我们使用委托delegate和事件event上的主要有两大区别(如表1所示)。 表1 委托和事件的区别序号 区别 委托 事件 1 是否可以使用=来赋值 是 否 2 是否可以在类外部进...
2018-07-30 11:58:03
391
ASP.NET WEB API 程序设计
2018-09-10
EntityFramewrok.Extensin.dll批量更新、添加、删除、合并
2017-10-16
一款测试Socket通信的工具
2017-06-23
asp.net版的工作流
2013-06-17
javascript网页开发教程
2011-04-06
.net下的AJAX教程
2011-04-06
企业客户管理系统人事工资管理系统
2011-04-06
vs2008/2005典型示例大全
2011-04-06
开发人员常用js大全
2011-04-03
vs2005水晶报表用法
2008-10-18
700多个API函数详解
2008-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人