摘要:
Xml作为数据存储的一种方式,当数据非常大的时候,我们将碰到很多Xml处理的问题。通常,我们对Xml文件进行编辑的最直接的方式是将xml文件加载到XmlDocument,在内存中来对XmlDocument进行修改,然后再保存到磁盘中。这样的话我们将不得不将整个XML document 加载到内存中,这明显是不明智的(对于大数据XML文件来说,内存将消耗很大,哥表示鸭梨很大)。下面我们将要讲的是如何高效的增加内容(对象实体内容)到xml日志文件中。 (一)设计概要 总体来说,我们将(通过代码)创建两种不同的文件,第一种为Xml文件,第二种为xml片段(txt文件),如下图所示: ... 阅读全文
阅读排行榜
一起谈.NET技术,深入理解string和如何高效地使用string
2011-09-01 23:43 by 狼人:-), 269 阅读, 收藏,
摘要:
一个月以前我写了一篇讨论字符串的驻留(string interning)的文章,我今天将会以字符串的驻留为基础,进一步来讨论.NET中的string。string interning的基本前提是string的恒定性(immutability),即string一旦被创建将不会改变。我们就先来谈谈string的恒定性。 一、string是恒定的(immutable) 和其他类型比较,string最为显著的一个特点就是它具有恒定不变性:我们一旦创建了一个string,在managed heap 上为他分配了一块连续的内存空间,我们将不能以任何方式对这个string进行修改使之变长、变短、... 阅读全文
一起谈.NET技术,4.0中的并行计算和多线程详解(一)
2011-09-01 23:43 by 狼人:-), 269 阅读, 收藏,
摘要:
并行计算部分 沿用微软的写法,System.Threading.Tasks.::.Parallel类,提供对并行循环和区域的支持。 我们会用到的方法有For,ForEach,Invoke。 一、简单使用 首先我们初始化一个List用于循环,这里我们循环10次。(后面的代码都会按这个标准进行循环) Code Program.Data = new List<int>(); for (int i = 0; i < 10; i++) { Data.Add(i); } 下面我们定义4个方法,分别为for,foreach,并行For,并行ForEach。并测试... 阅读全文
一起谈.NET技术,Oxite 项目结构分析
2011-08-29 19:31 by 狼人:-), 269 阅读, 收藏,
摘要:
Oxite中有6个Project,每个项目各自作为项目架构中的不同的层。下面我们来各自的分析一下这6个项目。 我们可以看到这六个项目分别是Oxite,LinqToSqlDataProvider,MVC,Test,OxiteSite,(Oxite.Database 需要安装SQL Server2005)。 1. Oxite 该项目中包含了Routing的定义,Model和Services服务层的代码,还有Oxite运行时的后台服务类,配置类,同时,在该项目中也定义了数据访问层的接口,但并没有实现。 BackgroundServices 定义了插件的服务类,
Ext... 阅读全文
一起谈.NET技术,你是个软件架构师吗?
2011-08-29 19:30 by 狼人:-), 269 阅读, 收藏,
摘要:
开发和架构的界限难以捉摸。有些人告诉你它根本不存在,架构只是开发者们所做的设计过程的简单扩展。 另外一些人认为这是一个鸿沟,它只能由那些做到高度抽象,而且不会陷入实现细节的开发者才能跨越。通常,在这两个极端的观点中间某处有个可操作的平衡点;不论如何,怎么从开发转换为架构师都是个有趣的问题。 经常被用来区分软件架构和软件设计开发的关键几点包括 伸缩性和抽象程度的增加以及作出正确设计决策意义的增强。软件架构是通过一个全局的观点,宏观的视角来理解软件系统作为一个整体如何工作。 即使这能够帮助区分软件开发和架构,它并不能帮助理解某人如何从开发提升到架构。 并且,它也不能帮助识别谁能够成为一... 阅读全文
艾伟也谈项目管理,《播客》项目总结——项目管理方面
2011-08-29 19:05 by 狼人:-), 269 阅读, 收藏,
摘要:
引言:
如果标题改成《被管理总结》的话,我可以滔滔不绝的说上个半天,但是如果是管理项目的话,我实在肚里的货有限,因为到至今做过的最高职位不过是个“班长”而已。
但是这次《播客》项目在管理方面的确出了问题,而且是满严重的问题,以至于到后来项目差点失控,而且最终的交付作品质量的确让人汗颜。如何避免下面程序员很累,但效率却很低;上面不停的催,产品却一个bug接一个bug,完全没法交付;项目经理累的要死,项目却仍然处于失控状态这样的问题和局面?在一个差点失控的项目刚刚结束后,这些问题难道不值得好好的总结和反思吗?虽然我在项目管理方面的能力有限,但是我仍然希望通过这样的总结,让下次的项目尽量避免和改进. 阅读全文
艾伟_转载:WCF版的PetShop之三:实现分布式的Membership和上下文传递
2011-08-29 00:16 by 狼人:-), 269 阅读, 收藏,
摘要:
本系列文章导航WCF版的PetShop之一:PetShop简介WCF版的PetShop之二:模块中的层次划分WCF版的PetShop之三:实现分布式的Membership和上下文传递 通过上一篇了解了模块内基本的层次划分之后,接下来我们来聊聊PetShop中一些基本基础功能的实现,以及一些设计、架构上的应用如何同WCF进行集成。本篇讨论两个问题:实现分布式的Membership和客户端到服务端上下文(Context)的传递。 一、 如何实现用户验证 对登录用户的验证是大部分应用所必需的,对于ASP.NET来说,用户验证及帐号管理实现在成员资格(Membership)模块中... 阅读全文
艾伟:WinForm控件开发总结(二)------使用和调试自定义控件
2011-08-29 00:00 by 狼人:-), 269 阅读, 收藏,
摘要:
在上一篇文章里我们创建了一个简单的控件FirstControl,现在我来介绍一下怎么使用和调试自己的控件。我希望将过程写的尽可能的详细,让想学习控件开发的朋友容易上手,高手们见谅。 在同一个solution里添加一个Windows Application工程(在Solution Explorer里右键点击CustomControlSample solution选择Add->New Project…),命名为TestControl。VS会为你自动生成一个Form,文件名为Form1.cs。在Solution Explorer里双击Form1.cs文件进入到Form设计界面。现在我们将Fir 阅读全文
Meego touch实现页面跳转和返回
2011-08-28 23:34 by 狼人:-), 269 阅读, 收藏,
摘要:
前面写完了第一个Meego touch的程序,相信大家也看到Meego touch的界面风格,显示效果等等。不过却没有页面跳转,和返回等效果,那这篇文章就研究下,如何实现页面的跳转和返回?Meego touch默认会通过返回键或者退出键实现当前页面的关闭,并且返回到前一个页面。所以下面通过代码实现页面的跳转,最后效果如下图: 当程序启动时,会显示第一个页面,点击上面的“Open second page”,则会跳转到第二个页面。在第二个页面点击返回按钮,则会关闭当前页面,跳回到第一个页面。
主要代码介绍:main.cpp,程序入口,创建FirstPage的对象,然后使用page->appe 阅读全文
[C#]解决程序Vista/Win7下因UAC导致的读写错误
2014-12-06 22:38 by 狼人:-), 268 阅读, 收藏,
摘要:
在微软的操作系统中,vista和win7加入了UAC的功能,UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员密码。通过... 阅读全文
浙公网安备 33010602011771号