예제 #1
0
        protected override RequestMessage Parse()
        {
            var node = this.Node;

            //发送者
            XmlNode tempNode = node.SelectSingleNode("FromUserName");

            if (tempNode == null)
            {
                return(null);
            }
            this.FromUserName = tempNode.InnerText;
            //接收者
            tempNode = node.SelectSingleNode("ToUserName");
            if (tempNode == null)
            {
                return(null);
            }
            this.ToUserName = tempNode.InnerText;
            //创建时间
            tempNode = node.SelectSingleNode("CreateTime");
            if (tempNode == null)
            {
                return(null);
            }
            this.CreateTime = Convert.ToInt64(tempNode.InnerText);

            //事件(subscribe/unsubscribe/CLICK)
            tempNode = node.SelectSingleNode("Event");
            if (tempNode == null)
            {
                return(null);
            }

            this.Event = WeiXinCommon.ToEnum <EventType>(tempNode.InnerText);


            return(this.ToMessage(node));

            ////事件Key(当Event=CLICK时,使用Key定位具体单击的是哪个菜单项)
            //tempNode = node.SelectSingleNode("EventKey");
            //if (tempNode == null)
            //{
            //    return null;
            //}
            //EventKey = tempNode.InnerText;

            ////标签
            //tempNode = node.SelectSingleNode("Label");
            //if (tempNode != null)
            //{
            //    this.Label = tempNode.InnerText;
            //}

            //return this;
        }
예제 #2
0
        public string ReadStreamAndReply(HttpRequestBase request)
        {
            string txt = new WeiXinCommon().PostInput(request, Encoding.UTF8);

            FileMessageSave.MessageSave(txt);

            XmlDocument xml = new XmlDocument();

            xml.LoadXml(txt);
            XmlElement          xe     = xml.DocumentElement;
            WeixinMessageEntity entity = ModelCommon.ConsoleXmlToModel(xe);

            MessageFactory factory = new MessageFactory(entity);
            var            message = factory.ConsoleMessage();

            FileMessageSave.MessageSave(message);
            return(message);
        }
예제 #3
0
 public override string ToString()
 {
     return(WeiXinCommon.Serialize(this));
 }