http://www.cnblogs.com/lsxqw2004/archive/2009/05/31/1495240.html#_Toc228672756
http://www.cnblogs.com/sunpire/archive/2010/04/18/1714956.html
http://kb.cnblogs.com/page/43963/