http://www.cnblogs.com/nicholas_f/archive/2010/10/30/1865330.htmlhtml
http://blog.csdn.net/qlp3643_1/article/details/6258863.net