Пример #1
0
        /// <summary>
        /// 处理微信的POST请求
        /// </summary>
        /// <param name="context"></param>
        /// <returns>返回xml响应</returns>
        private string HandlePost(HttpContext context)
        {
            RequestMessageHelper helper = new RequestMessageHelper(context.Request);

            if (helper.Message != null)
            {
                Message.Insert(new Message(MessageType.Request, helper.Message.ToString()));
                ResponseBaseMessage responseMessage = HandleRequestMessage(helper.Message);
                Message.Insert(new Message(MessageType.Response, responseMessage.ToString()));
                return(responseMessage.ToXml(helper.EncryptType));
            }
            else
            {
                return(string.Empty);
            }
        }
    protected void btnParse_Click(object sender, EventArgs e)
    {
        string message = txtMessage.Text;

        if (string.IsNullOrWhiteSpace(message))
        {
            txtResult.Text = "消息为空。";
        }
        try
        {
            RequestBaseMessage msg = RequestMessageHelper.Parse(message);
            txtResult.Text = msg != null?msg.ToString() : "解析消息失败。";
        }
        catch (Exception ex)
        {
            txtResult.Text = string.Format("解析消息发生异常。\r\n源:{0}\r\n描述:{1}\r\n堆栈:{2}",
                                           ex.Source, ex.Message, ex.StackTrace);
        }
    }