http://www.cnblogs.com/netfocus/archive/2011/10/10/2204949.html#!comments
http://www.cnblogs.com/xishuai/p/3762826.html