摘要: 在WCF中,当我们在调用服务端的方法时,一般有两点需要考虑:1、捕获服务端的异常信息,记录日志;2、及时关闭会话信道,当调用超时或调用失败时及时中断会话信道。我们一般会像下面这样处理(以CalculatorService为例):using (ChannelFactory<ICalculatorService> channelFactory = new ChannelFactory<ICalculatorService>("CalculatorService")) { ICalculatorService proxy = channelFact... 阅读全文
posted @ 2011-10-17 23:23 陈 锋 阅读(4784) 评论(9) 推荐(6) 编辑
摘要: 由于我个人比较喜欢听APE格式的音乐,但有的时候有的歌曲在网上暂时搜不到APE版本的,那只有先将就着MP3格式的听,等网上出现APE格式的时候再将MP3格式的音乐替换。时间一长,目录下既有APE格式的音乐文件也有MP3格式的音乐文件,想知道目录下有多少个MP3文件时只能在资源管理器中根据文件类型排序,十分不便。我想要的是目录下有多少MP3文件,直接在一个文件中列出,方便我统一的去下载APE格式的文... 阅读全文
posted @ 2011-10-16 12:42 陈 锋 阅读(2281) 评论(4) 推荐(0) 编辑
摘要: 首先去http://dev.mysql.com/downloads/mysql/5.5.html#downloads站点下载: 分别下载以下三个文件(由于我的机器是32位,下面是32位版本的包,如果你的机器是64位的请下载64位版本): MySQL-server-5.5.16-1.rhel5.i386.rpm MySQL-client-5.5.16-1.rhel4.i386.rpm MySQL-d... 阅读全文
posted @ 2011-10-16 03:28 陈 锋 阅读(49336) 评论(6) 推荐(2) 编辑
摘要: 1、注册表 注册表在基于Windows平台的软件系统中使用非常普遍。优点是可以直接使用Windows提供的API存取和修改系统配置,缺点是和Windows系统结合太紧,另外修改配置也不太方便。 2、ini配置文件 ini配置文件最早出现在Windows的早期版本中,比如Win95,Win98,用来保存操作系统的配置信息。后来一些基于Windows平台的软件系统也采用ini配置文件来保存系统配置。优... 阅读全文
posted @ 2011-10-12 22:07 陈 锋 阅读(1803) 评论(1) 推荐(0) 编辑
摘要: 前段时间参与了公司的一个项目,这个项目的特点是数据量、访问量都比较大,考虑使用数据库水平分表策略,Google了大半天,竟然没有找到分表工具。于是自己写了个数据库水平分表工具,支持MS Sql Server和 MySQL,对MYSQL支持比较好。 下面介绍下分表工具的使用方法。 首先是设置数据库连接界面 输入连接名称(也可以点击右边的选择框,从之前保存的连接中选择),选择数据库类型(目前支持Mysql和Sql Server),输入ip地址、数据库名称、用户名、密码后点击测试连接,如果提示连接成功,说明设置正确。 点击确定按钮进入主界面: 执行分表操作时,必须要有主表,主表名称可以... 阅读全文
posted @ 2011-10-12 17:46 陈 锋 阅读(9257) 评论(13) 推荐(6) 编辑
摘要: 在上一篇文章中提到配置服务模块分为服务端和客户端,作为使用者只需要关心客户端的一些接口就行了。我们来看一下这些接口的定义。public interface IConfigService { T GetConfigItemValue<T>(string cateName, T defVal); T GetConfigItemValue<T>(string cateName, T defVal, ConfigItemValueUpdateCallback callback); T GetConfigItemValue<T>(string cateNa... 阅读全文
posted @ 2011-10-12 15:42 陈 锋 阅读(1556) 评论(1) 推荐(2) 编辑
摘要: 首先谈一下配置服务的相关背景。在一个复杂的系统中,有些部分可能会存在经常性的变动,这些部分可能是系统本身也可能是业务需求,考虑到系统的灵活性和可扩展性,我们将经常需要改动的部分作为参数配置,以达到在不修改代码的前提下,调整系统功能及业务逻辑。像一些大型系统,比如SAP就是就是一个很好的例子。系统可以通过6000 个"开关"设置,调整软件的业务流程。通常我们会使用本地配置文件(XML)保存配置信息,使用配置文件缺点也很明显,当我们的系统越来越庞大,配置文件会越来越多,甚至需要大量的服务器来支撑时,配置文件的更新相当麻烦,而且各个服务器上配置文件版本的一致性也很难保证。我们的思 阅读全文
posted @ 2011-10-11 12:46 陈 锋 阅读(1778) 评论(2) 推荐(2) 编辑
摘要: Code::Block、MinGW 和 wxWidgets 分别是三个著名的开源项目,分别是 IDE、编译器和界面库。由这三样搭建起来的全开源纯c++开发环境,功能不逊色于Visual C++,由于是开源的,这样的环境还是免费的,并且是跨平台的。^-^下面说一下在 Windows 下的搭建过程:一、编译器MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称,实际上 MinGW 并不是一个 C/C++ 编译器,而是一套 GNU 工具集合,是 Windows 的一个移植。MinGW 官方网站为http://www.min 阅读全文
posted @ 2011-06-18 09:26 陈 锋 阅读(1688) 评论(0) 推荐(2) 编辑
摘要: (本文适于使用Aaf框架的开发者阅读) 1. 基本原理 在Aaf框架中,“对象”和“存储”的关系映射有一个关键的纽带StorageAlias,即“存储别名”,同样一个类型,在不同的存储别名下,可以自由映射到任意存储“位置”。 “位置”有两个元素决定,一个是存储上下文StoargeContext,另外一个是数据表名TableName。缺省的StorageContext在Persistence.Config中配置,缺省的数据表名就是类的名称。 所有的映射关系,存储在两个地方,一个地方是TypeDescription的ExtendedAttributes属性中,这里存储的映射主要来源于... 阅读全文
posted @ 2011-04-26 14:51 陈 锋 阅读(637) 评论(0) 推荐(2) 编辑
摘要: 在 Ubuntu 系统中有两种设置环境变量 PATH 的方法。第一种适用于为单一用户设置 PATH,第二种是为全局设置 PATH。 第一种方法: 在用户主目录下有一个 .bashrc 文件,可以在此文件中加入 PATH 的设置如下: export PATH=”$PATH:/your path1/:/your path2/…..” 注意:每一个 path 之间要用 “:“ 分隔。 注销重启 X 就可以了。 第二种方法: 在 /etc/profile中增加。 PATH="$PATH:/home/zhengb66/bin" export PATH 阅读全文
posted @ 2011-03-19 13:29 陈 锋 阅读(292) 评论(0) 推荐(0) 编辑