http://www.cnblogs.com/technology/archive/2011/05/26/2058842.htmlhttp://blog.csdn.net/u012234115/article/details/47152137