随笔分类 -  .NET技术

为什么要用lock 【readonly】object?为什么不要lock(this)?
摘要:一. 为什么要用lock,lock了什么? 当我们使用线程的时候,效率最高的方式当然是异步,即各个线程同时运行,其间不相互依赖和等待。但当不同的线程都需要访问某个资源的时候,就需要同步机制了。也就是说当对同一个资源进行读写的时候,我们要使该资源在同一时刻只能被一个线程操作,以确保每个操作都是有效即时 阅读全文

posted @ 2018-06-14 14:56 SuperSnowYao 阅读(2674) 评论(0) 推荐(1) 编辑

C#多线程编程
摘要:一、使用线程的理由 1、可以使用线程将代码同其他代码隔离,提高应用程序的可靠性。 2、可以使用线程来简化编码。 3、可以使用线程来实现并发执行。 二、基本知识 1、进程与线程:进程作为操作系统执行程序的基本单位,拥有应用程序的资源,进程包含线程,进程的资源被线程共享,线程不拥有资源。 2、前台线程和 阅读全文

posted @ 2018-03-31 15:47 SuperSnowYao 阅读(293) 评论(0) 推荐(0) 编辑

数据库连接池使用(三):通过线程实现数据库连接池
摘要:在企业级软件开发过程中,为了改善应用程序的性能,通常需要使用对象池来控制对象的实例化。例如,在我们每次需要连接一个数据库时都需要创建一个数据库连接,而数据库连接是非常昂贵的对象。所以,为了节省每次数据库调用,都要实例化一个数据库连接的资源,我们可以缓存并重用一些创建好的数据库连接对象。以此节省每次数 阅读全文

posted @ 2018-03-31 12:58 SuperSnowYao 阅读(2797) 评论(0) 推荐(0) 编辑

数据库连接池使用(一):使用C#数据库连接池
摘要:一、导读 使用C#数据库连接池,连接到数据库服务器通常由几个需要软长时间的步骤组成: 1、必须与服务器进行初次连接; 2、必须分析连接字符串信息; 3、必须由服务器对连接进行身份验证; 4、必须建立物理通道(例如套接字或命名管道); 大部份的应用程序都是使用一个或几个不同的连接配置,当应用程序的数据 阅读全文

posted @ 2018-03-26 18:26 SuperSnowYao 阅读(24802) 评论(5) 推荐(1) 编辑

AssemblyInfo.cs文件详解
摘要:1、.Net工程的Properties文件夹下自动生成一个名为AssemblyInfo.cs的文件,一般情况下我们很少直接改动该文件。但我们实际上通过另一个形式操作该文件。那就是通过在鼠标右键点击项目的属性进入“应用程序”->“程序集信息”,然后修改信息。 2、通过特性(Attribute)来设置程 阅读全文

posted @ 2018-02-27 12:00 SuperSnowYao 阅读(16213) 评论(0) 推荐(0) 编辑

项目Debug版本与Release版本的区别
摘要:Debug版本:通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。 Release版本:称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 实际上,Debug版本和 Release 并没有本质的界限,他们只是一组编译选项的集合, 阅读全文

posted @ 2018-02-26 13:47 SuperSnowYao 阅读(9404) 评论(0) 推荐(3) 编辑

一个支持DbFirst、ModelFirst和CodeFirst的数据库小工具DbTool
摘要:DbTool 一个支持DbFirst、ModelFirst和CodeFirst的数据库工具。 简介 这是一个针对 SqlServer 数据库和 C# 开发语言的小工具,可以利用这个小工具生成数据库表对应的 Model,并且会判断数据表列是否可以为空,可以为空的情况下会使用可空的数据类型,如int? 阅读全文

posted @ 2018-02-09 14:54 SuperSnowYao 阅读(539) 评论(0) 推荐(0) 编辑

为什么说 LINQ 要胜过 SQL
摘要:如果你还没有沉溺于 LINQ,就会想这有啥大惊小怪的。SQL 并没有坏掉,为什么还要对它进行修补呢? 为什么我们还需要另外一种查询语言呢? 流行的说法是 LINQ 同 C#(或者 VB)集成在了一起,故而消除了编程语言和数据库之间配合上的鸿沟,同时为多个数据源的组合提供了单一的查询接口。虽然这些都是 阅读全文

posted @ 2018-02-09 13:39 SuperSnowYao 阅读(746) 评论(0) 推荐(0) 编辑

静态方法和实例方法联系与区别
摘要:1、调用方式上 静态方法依赖于类,通过类.静态方法调用;实例方法依赖于类的对象,需要创建对象后,对象.实例方法使用。 2、使用上 实例方法内部不能定义静态变量,会出现编译错误;实例方法可以直接调用静态方法;静态方法内部可以定义和使用实例变量,静态方法无法直接调用实例方法(因静态方法加载时类还没有实例 阅读全文

posted @ 2018-01-27 17:17 SuperSnowYao 阅读(870) 评论(0) 推荐(1) 编辑

针对多类型数据库,集群数据库的有序GUID
摘要:一、背景 常见的一种数据库设计是使用连续的整数为做主键,当新的数据插入到数据库时,由数据库自动生成。但这种设计不一定适合所有场景。 随着越来越多的使用Nhibernate、EntityFramework等ORM(对象关系映射)框架,应用程序被设计成为工作单元(Unit Of Work)模式,需要在数 阅读全文

posted @ 2018-01-23 13:50 SuperSnowYao 阅读(1064) 评论(0) 推荐(1) 编辑

C#的字节与流
摘要:计算机中文件有很多种,我们知道实际存在计算机中的都是二进制。这里我记录了通过流对文件的读取操作。 一、首先在这里简单涉及下位,字节,字符的概念。 位(bit):可以表示0或1; 字节(byte):由8位组成(bit),可以表示0-255,是256个不同的数据; 字符:字符根据编码的不同有所区别; A 阅读全文

posted @ 2018-01-22 10:06 SuperSnowYao 阅读(13042) 评论(2) 推荐(0) 编辑

Var与Dynamic的区别
摘要:1.var与dynamic的区别 C#中的很多关键词用法比较容易混淆,var和dynamic就是其中一组,但其实它们是有本质的区别的。var 在编译阶段已经确定类型,在初始化时候,必须提供初始化的值,而dynamic则可以不提供,它是在运行时才确定类型。 2.ExpandoObject类型的使用 当 阅读全文

posted @ 2018-01-18 13:15 SuperSnowYao 阅读(538) 评论(1) 推荐(0) 编辑

Visual Studio 2017 插件扩展
摘要:“工具善其事,必先利其器!装好这些插件让vs更上一层楼” ReSharper : 首先的是Resharper,这个基本是目前是我开发过程中必备的工具集,唯一的缺点就是吃内存,所以你的内存要是低于8G,就不要使用它了。它的特点可以快速重构、高亮显示错误、导航和搜索都很方便、智能提示、智能复制这个我特别 阅读全文

posted @ 2018-01-03 21:28 SuperSnowYao 阅读(31084) 评论(5) 推荐(4) 编辑

如何迎接新的 .NET 时代
摘要:看完.NET 基金会、 Roslyn 编译器 ,应该已经能慢慢了解,现在所谓的“.NET 开源”、“.NET Open Source”并不是完全把现有的 .NET Framework 整个打开(虽然这里有个子集的参考版【https://github.com/Microsoft/referenceso 阅读全文

posted @ 2018-01-01 18:20 SuperSnowYao 阅读(705) 评论(1) 推荐(0) 编辑

Global.asax 文件说明
摘要:1、Global.asax 文件包含响应 ASP.NET 或HTTP模块所引发的应用程序级别和会话级别事件的代码。 2、Global.asax.cs中的方法的含义: Application_Init:在每一个HttpApplication实例初始化的时候执行 Application_Disposed 阅读全文

posted @ 2017-12-31 22:35 SuperSnowYao 阅读(807) 评论(1) 推荐(0) 编辑

.NET 垃圾回收浅解
摘要:在说明垃圾回收的实现机制之前,先说明一下垃圾回收存在的背景。 垃圾回收器(GC)是.NET平台中一个很重要的组成部分,.NET垃圾回收机制降低了编写程序的复杂程度,使程序员不用耗费精力去处理析构,成功的将内存管理从程序的编写时,脱离到运行时。 一、析构函数 析构函数的作用主要是释放类在构造函数中以及 阅读全文

posted @ 2017-12-31 22:33 SuperSnowYao 阅读(544) 评论(1) 推荐(0) 编辑

为什么要用 C# 来作为您的首选编程语言
摘要:因为您可以用,并且也是您的最佳选择!之所以可用,是因为 C# 能够很好地在 Mac、Linux、Android 和 iOS 上运行(对了,还有 Windows);它可以在您最喜爱的编辑器上运行;它在一个稳定的企业级平台上经过了充分的时间验证;最为重要的是:它是完全开源的!之所以是您的最佳选择,是因为 阅读全文

posted @ 2017-12-31 22:10 SuperSnowYao 阅读(14562) 评论(1) 推荐(5) 编辑

导航