http://www.cnblogs.com/netfocus/p/3307971.html http://www.cnblogs.com/netfocus/archive/2011/10/10/2204949.html