1. http://www.cnblogs.com/babyt/archive/2005/04/15/138214.html 2. http://www.cnblogs.com/babyt/archive/2009/02/15/1391145.html