http://www.cnblogs.com/strinkbug/p/4697034.html http://www.cnblogs.com/strinkbug/p/4705654.html http://www.cnblogs.com/strinkbug/p/4726050.html