11 苍狼_2001

尚未进行身份认证

程序员之所以犯错误,不是因为他们不懂,而是因为他们自以为什么都懂。

等级
TA的排名 1w+

浅谈 exists 和 in 的执行原理及使用场景

exists的执行原理:对外表做loop循环,每次loop循环再对内表(子查询)进行查询,那么因为对内表的查询使用的索引(内表效率高,故可用大表),而外表有多大都需要遍历,不可避免(尽量用小表),故内表大的使用exists,可加快效率;in的执行原理是把外表和内表做hash连接,先查询内表,再把内表结果与外表匹配,对外表使用索引(外表效率高,可用大表),而内表多大都需要查询,不可避免...

2019-11-19 16:22:25

C#反射详解

反射定义  反射提供了封装程序集、模块和类型的对象(Type类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了特性,可以利用反射对它们进行访问。【MSDN】使用场景需要访问程序元数据的特性。 检查和实例化程序集中的类型。 在运行时构建新类型。使用System.Reflection.Emit中的类。 执...

2019-11-08 16:43:06

C# task和timer实现定时操作

C#中,定时器,或者叫作间隔器,每隔一段时间执行一个操作。1.Timer本身就是多线程C#中为不同场合下使用定时器,提供了不同的Timer类,在asp.net中一般使用System.Timers.Timer。这个类也很简单,在微软官方文档可以查看如何使用。C#的timer,本身就封装了线程的操作,所以使用timer不用考虑再开一个线程,它已经是了。2.Task实现定时器我们可...

2019-09-05 14:47:06

C#使用Timer.Interval指定时间间隔与指定时间执行事件

C#中,Timer是一个定时器,它可以按照指定的时间间隔或者指定的时间执行一个事件。指定时间间隔是指按特定的时间间隔,如每1分钟、每10分钟、每1个小时等执行指定事件;指定时间是指每小时的第30分、每天10:30:30(每天的10点30分30秒)等执行指定的事件;在上述两种情况下,都需要使用 Timer.Interval,方法如下:1、按特定的时间间隔:using Syste...

2019-09-05 14:45:47

rabbit 相关文章

1、使用EasyNetQ组件操作RabbitMQ消息队列服务https://www.jianshu.com/p/bba32c82565c2、.net平台的rabbitmq使用封装https://blog.csdn.net/zk65645/article/details/603351093、封装RabbitMQ.NET Library 的一点经验总结https://www.cnb...

2019-08-04 21:54:16

保留小数的位数,不四舍五入

double m1 = 12.3476;//保留两位小数double m3 = Math.Truncate(m1 * 100) / 100;//得到结果是:12.34

2019-08-02 10:21:43

主线程处理子线程的异常

一直接在主线程捕获子线程异常(此方法不可取)using System;using System.Threading;namespace CatchThreadException{ class Program { static void Main(string[] args) { try ...

2019-07-30 09:57:45

SQL Server中@@ROWCOUNT的用法

SQL Server中@@ROWCOUNT返回受上一语句影响的行数,返回值类型为 int 整型。如果行数大于 20 亿,则需要使用 ROWCOUNT_BIG。@@ROWCOUNT和@@ERROR变量的值,在执行完一条语句后总是会发生变化,所以我们将他们作为判断的依据的时候应该首先保存在局部变量中。他们反映的都是紧接着的上一条语句对他们的影响!我们通常可以通过update、insert语句...

2019-07-25 17:36:09

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

IIS7.5标识介绍

应用程序池的标识是运行应用程序池的工作进程所使用的服务帐户名称。默认情况下,应用程序池以 Network Service用户帐户运行,该帐户拥有低级别的用户权限。您可以将应用程序池配置为以 Windows Server® 2008操作系统中的内置用户帐户之一运行。例如,您可以指定Local System用户帐户,此帐户与 Network Service或 Local Service内置用...

2019-05-16 18:50:30

Fiddler 抓包工具总结

序章Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能用了之后就忘记了,每次去网站上找也很麻烦,所以搜集各大网络的资料,总结了一些常用的功能。Fiddler 下载地址 :https://www.telerik.com/download/...

2019-03-26 12:02:08

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

四种常见的 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

.netMVC:Web页面向后台提交数据的方式和选择

众所周知Web前端页面主要由HTML/CSS/Javascript组成,当要通过与用户的交互实现各种功能时,就需要向后台提交一些数据或者操作。在Web世界里各种实现眼花缭乱,但究其根本,不外乎三种方式,这也是由前端脚本、浏览器与后台交互规则决定的。1、通过表单提交这是HTML支持最传统的提交方法,需要创建表单,然后表单包含各种类型的表单元素,还要有一个提交按钮,通过提交按钮来提交到后台,这...

2018-11-15 10:54:16

websocket-sharp使用手册

Welcometowebsocket-sharp!websocket-sharpsupports:RFC6455 WebSocketClientandServer Per-messageCompressionextension SecureConnection HTTPAuthentication QueryString,Originheaderan...

2018-10-12 13:55:48

Websocket(一)——原理及基本属性和方法

初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTTP 协议做不到服务器主动向客户端推送信息。WebSocket 协议在2008年诞生,2011年成为国际标准。...

2018-10-12 10:39:49

HTML5 WebSocket

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,...

2018-10-12 09:57:09

基于WebSocketSharp 的IM 简单实现

WebSocketBehaviorWebSocketBehavior是核心对象,他包含了OnOpen,OnMessage,OnClose,OnError四个方法以及一个Sessions对象。熟悉websocket的都知道前四个方法是用来处理客户端链接、发送消息、链接关闭以及出错。sessions就是用来管理所有的回话连接。每产生一个连接,都会有一个新Id,sessions中会新增一个IWebS...

2018-10-08 17:59:06

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

ArrayBuffer和TypedArray,以及Blob的使用

阅读目录  前端使用TypedArray编辑二进制   FileReader读区blob文件   blob转化为typedArray 参考:回到顶部  前端使用TypedArray编辑二进制  ES6提供了, ArrayBuffer和TypedArray, 让前端也可以直接操作编辑二进制数据, 网页中的类型为file的input标签, 也可以通过FileReader转化为二进制...

2018-09-29 00:01:41

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。