随笔分类 - C#
摘要:1.简介 在工作中遇到一个问题。项目有三个数据库(三个数据库表结构一样),用户可以选择使用哪个数据库。其实就是动态切换数据库连接。 2.EntityFramework For Mysql 先来简单的介绍下mysql使用EntityFramework来操作数据库。 直接上代码: (1).先建个项目,安
阅读全文
摘要:最近学习了msil,发现了很多好玩的,今天介绍一个用IL来创建对象的方式 1.最常见的两种创建对象方式 写一个测试帮助方法简单的测试下这两个方法的执行时间的长短: 用以上相同的方式来测试,测试代码: 测试结果如下: 结果一目了然,IL方式创建对象的用时在本地实例化和Activator.CreateI
阅读全文
摘要:1.介绍 动态代理是个非常有用的东西,比如用动态代理加上反射可以做AOP拦截。Java中的动态代理很容易实现,有两种方式JDK代理和Cglib。但是.Net实现动态代理其实有点费劲的,大致也可以分为两种,第一种RealProxy ,有个例子(https://github.com/jinshuai/D
阅读全文
摘要:1.强引用 我们实例化一个对象,直接引用了这个对象就是强引用。在这个对象被强引用的时,GC无法回收这个对象。 只有当该对象所有的强引用都失去的时候,GC才会回收该对象。 2.弱引用 弱引用可以让您保持对对象的引用,同时允许GC在必要时释放对象,回收内存。 一般使用场景:对象过大,并且不经常访问。这样
阅读全文
摘要:Machete.Rpc Machete.Rpc 是一个轻量级的Rpc(远程过程调用的)框架。底层代理使用了Emit提高了效率,底层通信采用DotNetty框架以提升通信的效率。目前正在逐步完善中。 Github: "https://github.com/MacheteTeam/Machete.Rpc
阅读全文
摘要:引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述
阅读全文
摘要:有这样的场景 : 现在一个接口有很多种实现类,需要根据配置,来确定确定调用哪个具体的实现类。这样使得软件扩展性大大提高 在MEF可以通过ExportMetadata 来实现这样的效果。 1.现在我们建个接口: 2.新建一个meta类 3.有两个实现类 4.在程序中根据不同的配置来调用不同的实现类
阅读全文
摘要:本文主要记录学习.net 如何创建windows服务。 1.创建一个Windows服务程序 2.新建安装程序 3.修改service文件 代码如下 4.使用installutil.exe 来安装服务 使用管机员打开cmd 在切换到bin目录下 执行命令 注意:这里要调整安装程序的权限: 5.启动服务
阅读全文
摘要:GC的前世与今生 虽然本文是以.NET作为目标来讲述GC,但是GC的概念并非才诞生不久。早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是GC的第一次出现。Lisp的程序员认为内存管理太重要了,所以不能由程序员自己来管理。 但后来的日子里
阅读全文
摘要:原文来自:http://www.cnblogs.com/tianzhiliang/archive/2011/03/04/1970726.html 1. 源码下载: 下载地址:http://files.cnblogs.com/tianzhiliang/ManualResetEventDemo.rar
阅读全文
摘要:MEF对扩展组件的查找范围通常有三个: 如果你还嫌不够的话,可以用AggregateCatalog来设置多个查找范围。 下面我们来逐个尝试一下。 AssemblyCatalog 基于某个程序集的范围查找,最常干的是在当前程序集内查找,当然也可以在其他程序集中查找。只要能得到一个Assembly对象就
阅读全文
摘要:ThreadStart: ThreadStart这个委托定义为void ThreadStart(),也就是说,所执行的方法不能有参数。 这里我们用定义了一个ThreadStart类型的委托,这个委托制定了线程需要执行的方法: Calculate,在这个方法里计算了一个直径为0.5的圆的周长,并输出.
阅读全文
摘要:做.NET开发很久,最近重新温习《C#高级编程》一书。发现很多曾经似懂非懂的问题,其实也是能够慢慢钻研慢慢理解的。 所以,打算开写《C#高级编程系列》博文。其中会借鉴《C#高级编程》一书的概念,也会参照其他高手的博文,希望大家谅解。有不对的地方,欢迎指正。 (另:本博文不会讲解定义,语法方面的基础知
阅读全文
摘要:互斥锁(Mutex) 互斥锁是一个互斥的同步对象,意味着同一时间有且仅有一个线程可以获取它。 互斥锁可适用于一个共享资源每次只能被一个线程访问的情况 函数: //创建一个处于未获取状态的互斥锁 Public Mutex(); //如果owned为true,互斥锁的初始状态就是被主线程所获取,否则处于
阅读全文
摘要:1.首先下载memcached 服务端 2.使用Enyim.Caching .Net 客户端 3.配置web.config 4.开始使用 代码如下 5.注意:
阅读全文
摘要:public static class StringUtil { /// /// 单词变成单数形式 /// /// /// public static string ToSingular(string word) { Regex plural1 ...
阅读全文
摘要:环境:win7+iis7+Office2007 在asp.net网站中导出Excel文件后,再把文件导入到数据库中。 读取Excel文件时,打开连接出错。 错误为:外部表不是预期的格式 解决:检查了一下,导出的Excel是标准文件不是html,没错,Excel文件正常。 调试代码,创建连接对
阅读全文
摘要:using System.Diagnostics;//引用相关的命名空间Stopwatch st=new Stopwatch ();//实例化类st. Start();//开始计时//需要统计时间的代码段st.Stop();//终止计时Response.Write(st.ElapsedMillise...
阅读全文
摘要:DateTime dt = DateTime.Now;Label1.Text = dt.ToString();//2005-11-5 13:21:25Label2.Text = dt.ToFileTime().ToString();//127756416859912816Label3.Text = ...
阅读全文
摘要:先看效果这个其实用c#实现起来比较简单: Sides = bllSession.IArticleBLL.GetList("") .Select(a => a.Time) .GroupBy(a => a.GetDateTimeFormat...
阅读全文

浙公网安备 33010602011771号