摘要: 什么是LocalDB 随着SQL Server 2012的发布,LocalDB跃入我们的视线,它可以被看做是SQL Server Express的轻量级版本。LocalDB专门为开发人员创建,它非常易于安装,几乎无需管理,兼容T-SQL语言,编程接口与SQL Server Express别无二致。有 阅读全文
posted @ 2016-04-18 14:20 殇曲? 阅读(2288) 评论(0) 推荐(0) 编辑
摘要: 1、in和exists in是把外表和内表作hash(字典集合)连接,而exists是对外表作循环,每次循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的,如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists, 阅读全文
posted @ 2016-04-15 15:35 殇曲? 阅读(17496) 评论(2) 推荐(3) 编辑
摘要: 1.开篇之前先说一说NISI是什么。 NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。这如其名字所指出的那样,NSIS 是通过它的脚本语言来描述安装程序的行为和逻辑的 阅读全文
posted @ 2016-04-13 13:36 殇曲? 阅读(2016) 评论(4) 推荐(0) 编辑
摘要: 作为C#的程序员来说,在遇到线程同步的需求时最常用的就是lock关键字。但如何正确并有效地使用lock,却是能否高效地达到同步要求的关键。正因为如此,程序员需要完全理解lock究竟为程序做了什么。 所涉及的知识点• lock的等效代码• System.Threading.Monitor类型的作... 阅读全文
posted @ 2015-09-16 11:00 殇曲? 阅读(8656) 评论(0) 推荐(0) 编辑
摘要: 怎么使用异步,就是用委托进行处理,如果委托对象在调用列表中只有一个方法,它就可以异步执行这个方法。委托类有两个方法,叫做BeginInvoke和EndInvoke,它们是用来异步执行使用。异步有三种模式等待模式,在发起了异步方法以及做了一些其它处理之后,原始线程就中断,并且等待异步方法完成之后再... 阅读全文
posted @ 2015-09-16 10:45 殇曲? 阅读(5234) 评论(4) 推荐(2) 编辑
摘要: 有时候自己写个小工具或者其它啥的物件,引用了好多第三方控件,如log4net,aspnetpager啥的,发布出去让别人看到自己竟然用了这么多的第三方DLL,会对自己的能力产生怀疑,那有什么办法可以解决这种情况嗫?这就是下面要推荐一个小工具,名称叫"ILMerge",这个东东不开源使用倒也算简单,下... 阅读全文
posted @ 2015-09-16 10:23 殇曲? 阅读(3436) 评论(1) 推荐(0) 编辑
摘要: 方法的参数有六种,分别是值参数、引用参数、输出参数、参数数组、命名参数、可选参数。值参数值参数是方法的默认类型,通过复制实参的值到形参的方式把数据传递到方法,方法被调用时,系统作两步操作;在栈中为形参分配空间。复制实参到形参。1)在方法被调用前,用作实参的变量a1的引用已经在栈里了。2)随着方法的开始,系统在栈中为形参分配空间,并从实参复制值。3)因为a1是引用类型,所以引用被复制,结果实参和形参都引用堆中的同一个对象。4)因为a2是值类型,所以值被复制,产生了一个独立的数据。5)在方法执行后,形参被从栈中弹出。6)a2、值类型,它的值不受方法行为的影响。7)a1、引用类型,它的值被方法的行为 阅读全文
posted @ 2013-11-21 22:36 殇曲? 阅读(1564) 评论(0) 推荐(1) 编辑
摘要: 程序运行时,它的数据必须存储在内存中,一个数据项需要多大的内存、存储在什么地方、以及如何存储都依赖于数据项的类型。运行中的程序使用两个内存区域来存储数据:栈和堆。栈 栈是一个内存数组,是一个LIFO(last-in、first-out,后进先出)的数据结构,栈存储3种类型的数据:分别是值类型变量的值;程序当前的执行环境;传递给方法的参数。 栈有如下几个普遍特征,分别是:数据只能从栈的顶端插入与删除;把数据放到栈顶称为入栈;从栈顶删除数据称为出栈。堆 堆是一块内存区域,在堆里可以分配大块的内存用于存储引用类型对象,与栈不同,堆里的内存能够以任意顺序存入和移除。虽然程序可以在堆里保存数据... 阅读全文
posted @ 2013-11-14 22:25 殇曲? 阅读(1195) 评论(0) 推荐(0) 编辑
摘要: 我在使用VS2010写好WCF的Web服务后,部署在IIS7.0上,可以在IE9上进行访问,并且能显示XML数据,如下图 然后我在项目的客户端进行服务的添加引用,如下图 VS2010自动生成代理类,但是生成不成功,Reference.cs文件内容是空的,打开项目的Service References文件夹下Calculator文件夹,如下图 既然生成不成功,我就不能在客户端通过代理类的形式调用WCF服务,想想不可能自己手动写这种机器生成的代码,然后看了资料说明,VS2010提供了使用SvcUtil.exe工具来生成WCF客户端代理类的问题。在安装VS2010后,你的C盘中有两个Svc... 阅读全文
posted @ 2013-11-07 21:49 殇曲? 阅读(805) 评论(0) 推荐(0) 编辑
摘要: 在你自己的机器上(即SVN客户端),把“新建test”文件夹标记为删除,然后提交,在删除之前可以备份“新建test”文件夹,提交后,在当前文件夹下更新SVN。然后把你刚刚备份的文件夹重新放到该目录下。 对“新建test”文件夹进行SVN的标记“增加”,出现如下图的提示。什么原因呢,因为每次提交文件夹的时候,SVN会在该文件夹的“新建test”目录下的“.SVN”这个隐藏文件夹中记录一些文件提交、变更等信息。所以在使用SVN增加该文件夹时,SVN会认为已经有了该文件夹。 显示隐藏文件,如下图操作。 对“.SVN”这个隐藏文件夹进项删除。 对“新增test”文件夹,执行SVN“增加”操... 阅读全文
posted @ 2013-10-25 11:44 殇曲? 阅读(5318) 评论(0) 推荐(0) 编辑