摘要:
1. 数据库有大量写操作时,应用键值对数据库(以下简称KV)能明显改善性能。关系数据库是靠索引来实现快速检索,如果有大量的写操作,维护索引会是笔不小的开销。 2. 使用KV时,应用程序要尽可能的避免表关联查询,比如可以用双向冗余存储关系来借代替表关联,把操作分解成单表操作。单表操作不仅查询性能飞快,而且可以容易实现数据量无限扩容。 3. KV数据库有着天生的伸缩性,相比关系数据库的群集,要简单... 阅读全文
阅读排行榜
一个极其简单的在线C#IDE例子
2008-05-05 20:56 by xiaosonl, 3201 阅读, 收藏,
摘要:
五一时去朋友那, 他问了个小问题, 只要写几十行代码就可以很好的说明问题.可偏偏机子没装VS, 只好做罢.回来后想想, 要是有个在线的C#IDE就好了.于是上网查了下相关的资料, 整出来个简单的在线C#IDE.
做这个,主要要解决两个问题, 一是如果将网页上文本框的代码编译并执行;二是如果将程序运行结果在网页上输出.
第一个问题不难, .NET已经有现成的C#编译类CSharpCodeProvider(或是其它语言的),再使用CompilerParameters类做为编译参数,就可以很容易的实现.
第二个问题, 举最简单情况, 就是将Console.Write方法输出的内容在网页上显示出来.这其实也很好办,只要在编译之前, 在输出语句做一个替换, 将输出的内容存到另一个地方.等运行结束后, 再从那个地方取出来就是了. 阅读全文
ASP.NET中使用反射将控件值与实体值相互映射
2008-05-24 16:25 by xiaosonl, 2948 阅读, 收藏,
摘要:
在ASP.NET中, 我们要获取控件的值, 或是给控件赋值, 一般都是Control.Property = Entity.Property, Entity.Property = Control.Property.如果控件太多,这样写就显的繁琐,而且容易出错.这种情况下, 使用反射, 把符合控件名和实体属性名相同的值相互映射,只要一行代码就可以完成操作了.来看主要的两个方法签名:Code highl... 阅读全文
再谈分层--好吧,我承认这个话题有点俗
2008-06-15 01:22 by xiaosonl, 2854 阅读, 收藏,
摘要:
一.层是指什么?为什么要分层? 对于层的概念,我的理解是包括"抽象层"和"实现层", 即是OO五大原则之依赖倒置原则(DIP), 让你的应用依赖于抽象而不是具体实现. 最常见的做法是加入数据访问的抽象层, 以此来解除对数据库类型的依赖. 二.要分哪些层? 需要解藕哪些层, 就分出哪些层. 三.一般都需要解藕哪些层? 1.数据访问层, 解除对数据库类型的依赖. 2.实体层,这主要是因为在ORM的存在... 阅读全文
发布个SqlSiteMapProvider组件
2007-04-27 23:11 by xiaosonl, 2550 阅读, 收藏,
摘要:
该组件用于实现基于SQLServer的站点导航提供程序. 使用方法:1.引用SqlSiteMapProvider.dll.2.新建个类,取名为MySqlSiteMapProvider,继承CustomProvider.SqlSiteMapProviderBase抽象类.3.实现抽象类的四个抽象方法,代码如下: /**//// /// 获取首页的URL /// publ... 阅读全文
浙公网安备 33010602011771号