public void ProcessRequest(HttpContext context)
        {
            try
            {
                context.Response.ContentType = "text/plain";
                var echostr = context.Request.QueryString["echostr"];
                var r       = context.Request.QueryString["r"];
                var code    = context.Request.QueryString["code"];
                var method  = context.Request.QueryString["m"];

                var json = JSON.StreamToJson(context.Request.InputStream, Encoding.UTF8);
                var data = new { Url = context.Request.Url, Data = json };
                var path = string.Format("{0}/{1}", context.Server.MapPath("~"), "input");
                if (!System.IO.Directory.Exists(path))
                {
                    System.IO.Directory.CreateDirectory(path);
                }

                System.IO.File.WriteAllText(string.Format("{0}/{1}.txt", path, DateTime.Now.ToString("yyyyMMddhhmmss")), JSON.ToJson(data), Encoding.UTF8);


                if (!string.IsNullOrWhiteSpace(echostr))
                {
                    context.Response.Write(echostr);
                    return;
                }
                else if (!string.IsNullOrWhiteSpace(code))
                {
                    context.Response.Write(WeChatAPI.GetInstance().GetTokenByCode(code));
                    return;
                }
                else
                {
                    var inst = WeChatAPI.GetInstance();
                    var res  = inst.GetType().GetMethod(method).Invoke(inst, null);
                    context.Response.Write(res);
                    return;
                }
            }
            catch (Exception ex) {
                var json = JSON.ToJson(context.Request.InputStream);
                var data = new { Url = context.Request.Url, Data = json };
                var path = string.Format("{0}/{1}", context.Server.MapPath("~"), "input");
                if (!System.IO.Directory.Exists(path))
                {
                    System.IO.Directory.CreateDirectory(path);
                }

                System.IO.File.WriteAllText(path, ex.Message);
                context.Response.Write("OK");
                context.Response.Write(ex.Message);
            }
        }