
net
文章平均质量分 56
水滴洞穿
这个作者很懒,什么都没留下…
展开
-
微信企业号开发:接收消息和事件
/// /// 将微信POST过来的数据转化成实体对象 /// /// /// public static ReceiveMessageBase ConvertMsgToObject(string msgBody = "") {转载 2016-12-13 10:45:21 · 1040 阅读 · 0 评论 -
Task 用法
其实Task跟线程池ThreadPool的功能类似,不过写起来更为简单,直观。代码更简洁了,使用Task来进行操作。可以跟线程一样可以轻松的对执行的方法进行控制。顺便提一下,配合CancellationTokenSource类更为可以轻松的对Task操作的代码进行中途终止运行,会在后面的章节中讲述。如果我们使用线程池来实现某几个方法运行,然后等待运行完成的大概会编写如下代码:u转载 2017-01-22 16:40:24 · 365 阅读 · 0 评论 -
批处理(.bat)文件中使用相对路径
一般来说,批处理文件处理相对路径的时候,起始位置是bat文件所在的目录,比如在D:\XX目录下执行bat文件,所有相对目录的操作都会以D:\XX下执行。但是有些命令需要管理员权限,右键选择以管理员身份运行时后,起始位置则为C:\Windows\system32,这时候往往不是我们所想要的,一种解决解决办法是在批处理的行首加一句"cd D:\XX”进入该目录,以修改其当前位置,但这样转载 2017-03-27 19:07:47 · 3518 阅读 · 0 评论 -
C#多线程与异步的区别
随着拥有多个硬线程CPU(超线程、双核)的普及,多线程和异步操作等并发程序设计方法也受到了更多的关注和讨论。本文主要是想与园中各位高手一同探讨一下如何使用并发来最大化程序的性能。 多线程和异步操作的异同 多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为多线程和异步操作是等同的概念。但是,多线程和异步操作还是有一些区别的。而这些转载 2017-03-15 16:07:35 · 217 阅读 · 0 评论 -
C#把某个数组的一部分复制到另一个数组中的两种方法:Buffer.BlockCopy和Array.Copy
注解分析:1,Array.Copy在CLR处理机制中最灵活,最强大,可装箱,拆箱复制,可加宽CLR基元类型,可内部判断实现了IFarmattable接口的兼容转换,当然这种强大方式必然会带来一定的性能损失。 2,Array.ConstrainedCopy 对复制要求严格,只能是同类型或者源数组类型是目标类型的派生元素类型,不执行装箱,拆箱,向下转换 3,Bu转载 2017-06-23 10:28:33 · 7707 阅读 · 0 评论 -
http请求流程图
原创 2017-07-06 10:58:07 · 2451 阅读 · 1 评论 -
nginx+iis负载均衡处理
iis上搭建2个站点127.0.0.1:4001127.0.0.1:4002windows下载nginx,运行start nginx 启动nginxnginx默认端口号为80, 可以在nginx.conf 配置文件修改端口号server 节点下面的 listen 监听端口号8080运行nginx -s reload 重启nginx,原创 2017-08-10 10:09:04 · 390 阅读 · 0 评论 -
C# 之泛型详解
什么是泛型 我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现就是专门解决这个问题的。读完本篇文章,你会对泛型有更深的了解。为什么转载 2017-10-09 14:42:11 · 208 阅读 · 0 评论 -
ado.net EF与ado.net区别比较、在EF中使用执行sql语句
ado.net EF作为微软的一个ORM框架,通过实体、关系型数据库表之间的映射,使开发人员可以通过操作表实体而间接的操作数据库,大大的提高了开发效率。这样一来,.net平台下,我们与底层数据库的交互就有两种选择了(这句话说得不是很准确,微软.net 框架下还是有其他的ORM框架的,,如Nhibernate):ado.net EF、ado.net 。你可能以为我上面的内容写错了,a转载 2017-10-10 11:23:57 · 1333 阅读 · 0 评论 -
string的特性
两个特性:不可变性,驻留池。首先要清楚Systrm.String是一个又值语议的引用类型,也就是说,String不同于大多数的引用类型。其比较操做是对字符串值进行比较,而不是比较字符串的位置。字符串是一个Char类型的序列,创建字符串后,不能在当前内存位置上改变,如不能缩短,不能在后面追加字符,也不能改变其中的字符。当然,字符串的值时可以修改的,但是修改后的字符串要存放在新的内原创 2017-11-01 16:03:52 · 936 阅读 · 0 评论 -
MiniProfiler监控EF与.NET MVC项目
今天来说说EF与MVC项目的性能检测和监控首先,先介绍一下今天我们使用的工具吧.MiniProfiler~这个东西的介绍如下:MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC的性能分析的小程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并转载 2017-12-13 17:05:47 · 1751 阅读 · 0 评论 -
C#HashSet 、 Dictionary 、List性能对比
static void Main(string[] args) { const int COUNT = 1000000; HashSet hashSetOfInts = new HashSet(); Stopwatch stopWatch = new Stopwatch();转载 2017-12-18 17:09:16 · 3247 阅读 · 0 评论 -
在linux上部署netcore项目
sudo yum install libunwind libicu(安装libicu依赖)curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131(下载sdk压缩包)sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/do转载 2018-01-12 18:32:01 · 6867 阅读 · 0 评论 -
mvc4 访问静态html页面
之前在网上看的都是在MVC模式下,默认在Views文件外的html页面可以访问,但是如果要访问Views里的静态页面,那就需要修改View文件夹中的web.config属性httpHandlers> add verb="GET,HEAD" path="*.html" type="System.Web.StaticFileHandler"/> ad原创 2018-01-26 10:45:28 · 4404 阅读 · 0 评论 -
Lucene检索与关键字Like 性能对比
日常开发中,相信大家经常会用like去匹配一些数据,同时我们也知道,like往往会导致全表扫描,当数据量越来越大的时候,我们会纠结于数据库的龟速查找,此时我们必须另寻蹊跷,这时lucene就可以大显身手了。 首先我们做一个demo,向数据库中插入10w条数据,总共778M。 接下来,我们搜索下新闻内容中包含“流行”的记录。 检索一下要78s,是谁都要砸了面前的破机子。 1 using S...转载 2018-02-09 10:46:00 · 1471 阅读 · 0 评论 -
C#各版本新特性
C# 2.0泛型(Generics)泛型是CLR 2.0中引入的最重要的新特性,使得可以在类、方法中对使用的类型进行参数化。例如,这里定义了一个泛型类:class MyCollection { T variable1; private void Add(T param){ } } 使用的时候:MyCollectionstring> list2 =转载 2017-01-22 14:14:06 · 614 阅读 · 0 评论 -
前台线程与后台线程的区别
.Net的公用语言运行时(Common Language Runtime,CLR)能区分两种不同类型的线程:前台线程和后台线程。这两者的区别就是:应用程序必须运行完所有的前台线程才可以退出;而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线程在应用程序退出时都会自动结束。前台线程和后台线程的区别和联系:1、后台线程不会阻止进程的终止。属于某个进程的所有前台线转载 2017-01-22 14:06:08 · 526 阅读 · 0 评论 -
微信企业号开发:接收消息和事件
/// /// 将微信POST过来的数据转化成实体对象 /// /// /// public static ReceiveMessageBase ConvertMsgToObject(string msgBody = "") {转载 2016-12-13 10:48:47 · 2903 阅读 · 0 评论 -
Asp.net MVC中防止HttpPost重复提交
重复提交的场景很常见,可能是当时服务器延迟的原因,如购物车物品叠加,重复提交多个订单。常见的解决方法是提交后把Button在客户端Js禁用,或是用Js禁止后退键等。在ASP.NET MVC 3 Web Application中 如何去防止这类HTTP-Post的重复提交呢? 我们可以借助Session,放置一个Token在View/Page上,然后在Server端去验证是不是同一个Token来转载 2016-12-13 10:50:22 · 2236 阅读 · 0 评论 -
桥接模式和适配器模式的区别
很多时候经常容易把桥接模式和适配器模式弄混。那什么时候用桥接,什么时候用适配器呢 ?共同点桥接和适配器都是让两个东西配合工作不同点出发点不同。 1)适配器:改变已有的两个接口,让他们相容。 2)桥接模式:分离抽象化和实现,使两者的接口可以不同,目的是分离。 所以说,如果你拿到两个已有模块,想让转载 2016-12-13 14:33:16 · 584 阅读 · 0 评论 -
IIS Server Farms集群负载
Application Request Route下载安装首先你装一个web 平台安装程序:https://www.microsoft.com/en-us/search/result.aspx?q=Microsoft+Web+Farm+Framework+Version+2+for+IIS+7&form=dlc安装完之后会出现打开界面,iis中也可找到,双击进入进入转载 2016-11-25 10:07:33 · 1714 阅读 · 0 评论 -
IIS负载均衡
在大型Web应用系统中,由于请求的数据量过大以及并发的因素,导致Web系统会出现宕机的现象,解决这一类问题的方法我个人觉得主要在以下几个方面:1.IIS 负载均衡。2.数据库 负载均衡。3.系统架构优化,比如报表服务器和应用服务器分开等。本文主要介绍以下IIS负载均衡的实现方法,作者也是慢慢摸索的,如有不当之处还请各位大神指点以下,以求共同进步!!转载 2016-11-25 10:01:40 · 313 阅读 · 0 评论 -
net的程序对sqlserver读写分离实现
sqlserver读写分离可以很好的扩展数据库的性能,如果是一写多读,就需要做到负载均衡。那么我这里是在程序中处理的,针对多个读的数据库连接,放在一个数组里面,同时记录上一个连接的记录,如果有2个读的数据库连接,那么的他们的机会都是50%,这是在程序中实现的。 贴上代码原创 2016-11-25 14:15:59 · 902 阅读 · 0 评论 -
串口通信一般有两种方式: 1、字符 2、字节
串口通信一般有两种方式: 1、字符 2、字节 各方讨论:UART传输只面向二进制的字节形式。 但是,二进制的形式可以通过其他编码转换方法 转到别的应用形态,字符只是其中一种。ASCII方式传送字符,比如传送一个数据30,则需要2个字节:0x33,0x30 RTU方式传送字节数据,比如传送一个数据30,只需要一个字节:0x1E; 用RTU通转载 2017-01-05 16:37:44 · 18234 阅读 · 0 评论 -
位运算符
按位与运算按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。 按位与运算通常用来对某些位清0或保留某些位。例如把a转载 2017-01-05 16:43:36 · 286 阅读 · 0 评论 -
mvc请求过程总结
首先从客户端发出请求开始,iis接受请求,找到web应用程序运行的工作者进程,如果进程不存在,则创建的新的工作进程,在其初始化的时候,aspnet_isapi.dll被加载,isapi启动CLR以及相关应用程序域和相关web应用的初始化。随后一个特殊的运行时isapiRuntime被加载,它将接管http请求。 接管http请求的ISAPIRutime会首先创建isapiWorkRe转载 2017-02-04 16:35:35 · 817 阅读 · 0 评论 -
HttpApplication的处理管道19个事件。
HttpApplication对象是由Asp.net帮助我们创建的,它是asp.net中处理请求的重要对象。为了便于扩展,HttpApplication采用处理管道的方式进行处理,将处理的步骤分为多个步骤,每个步骤通过事件的形式暴露给程序员,这些事件按照固定的处理顺序依次触发,程序员通过编写事件处理方法就可以定义一个请求的扩展过程。对于HttpApplication,到ASP.NET 4.转载 2017-02-04 16:36:05 · 800 阅读 · 0 评论 -
委托
一.委托以及延伸先看下MSDN 的介绍吧~------ delegate通俗的说 委托就是可以实现 把方法做为变量来传递1.先写个最简单的委托的用法静态的和非静态方法的结果会输出您好 wlf Hello wlf这是最原始的委托2. 进化为匿名方法声明完委托后 还要声明方法 是不是很麻烦 如果不声明方法 用转载 2017-01-19 16:13:20 · 205 阅读 · 0 评论 -
什么是装箱和拆箱
1、什么是装箱和拆箱?简单的来说:装箱就是值类型转换为引用类型;拆箱就是引用类型转换为值类型值类型,包括原类型(Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong、Char、Float、Double、Bool、Decimal)、枚举 (enum) 、结构 (struct)。引用类型,包括类、数组、接口、委托、字符串等转载 2017-01-19 17:32:04 · 2234 阅读 · 0 评论 -
Socket的监听的三种方式
首先要打开监听1234Listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);IPEndPoint hostEntry = new IPEndPoint(getLocalmachine转载 2017-01-22 10:15:43 · 7508 阅读 · 0 评论 -
几种Socket服务器模型比较!
、异步BeginXXX,EndXXX先看其实现的方式:1.监听[csharp] view plain copy print?//开启监听线程 public void StartListenThread() { Thread listen_thread = ne转载 2017-01-22 13:51:02 · 2233 阅读 · 0 评论 -
window10的docker发布netcore2.0
window安装docker有2种方式1:如果不是window10操作系统,可以下载docker toolbox(里面包括了Docker Client for WindowsDocker Toolbox management tool and ISOOracle VM VirtualBoxGit MSYS-git UNIX tools )2:如果是window10操作系统,do原创 2018-02-07 17:38:18 · 2263 阅读 · 0 评论