コード例 #1
0
        public void RegexTest()
        {
            string regexXmlText   = @"<?xml version=""1.0"" encoding=""utf-8""?>
<xml>
    <ToUserName><![CDATA[gh_a96a4a619366]]></ToUserName>
    <FromUserName><![CDATA[olPjZjsXuQPJoV0HlruZkNzKc91E]]></FromUserName>
    <CreateTime>1357986928</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[13987654321]]></Content>
    <MsgId>5832509444155992351</MsgId>
</xml>
";
            var    messageHandler = new CustomMessageHandlers(XDocument.Parse(regexXmlText));

            messageHandler.DefaultMessageHandlerAsyncEvent = NeuChar.MessageHandlers.DefaultMessageHandlerAsyncEvent.SelfSynicMethod;
            messageHandler.ExecuteAsync(new CancellationToken()).GetAwaiter().GetResult();
            Assert.IsNotNull(messageHandler.ResponseMessage);
            Assert.IsInstanceOfType(messageHandler.ResponseMessage, typeof(ResponseMessageText));
            Console.WriteLine(messageHandler.ResponseMessage.ToJson(true));
        }
コード例 #2
0
        public async Task PureEcryptMessageRequestTest()
        {
            //纯安全模式测试
            var ecryptXml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<xml>
    <ToUserName><![CDATA[gh_a96a4a619366]]></ToUserName>
    <Encrypt><![CDATA[LasT9+F3u/TTDVh3wUdOXtaMF/uJe8kKvvzZ54avW/DU8pSuJFy815e2rAFBz8bHNK+271sLFLbwBLHr2BOAHS32irOMt8Pwza4tm6TU+C6zWS00SLeF1RPTCd2EyGawFu9jlYHkjxc9kX5PovDI6FoiPs3LcVU2kpu2wE/cdqHsVvt583C8ynagjq3DAh62B8E1Uz9I7lM56J6siW+m82OPFaRJfRSWO6pLuGj8LnBJp0sUah27jJ4COSYuc6VQaf/LaO2K5zDgXklDmDxw/6rQeY1gJLIRuoKLEVUOLaJN3UYTgEjJmAMd1vHbEF12Ex6YYxVRW280IWlLDixgLsvpBkrSUoqXAFmQfNcRJZf3Yr/MSGlpsoUVRfNP7iJ70OtzVU3lbKcMmnn5FbB0EHNzJJSBVM/XPLr9VD9Ac+g=]]></Encrypt>
</xml>
";
            var postModel = new PostModel()
            {
                Msg_Signature = "20f4a1263d198b696e6958e0d65e928aa68f7d96",
                Timestamp     = "1570032739",
                Nonce         = "2068872452",

                Token          = "weixin",
                EncodingAESKey = "mNnY5GekpChwqhy2c4NBH90g3hND6GeI4gii2YCvKLY",
                AppId          = "wx669ef95216eef885"
            };

            var messageHandlers = new CustomMessageHandlers(XDocument.Parse(ecryptXml), postModel);

            messageHandlers.DefaultMessageHandlerAsyncEvent = NeuChar.MessageHandlers.DefaultMessageHandlerAsyncEvent.SelfSynicMethod;
            messageHandlers.OmitRepeatedMessage             = false;//不去重

            Assert.IsNotNull(messageHandlers.RequestDocument);
            Assert.IsNotNull(messageHandlers.RequestMessage);
            Assert.IsNotNull(messageHandlers.RequestMessage.Encrypt);
            Assert.IsNotNull(messageHandlers.RequestMessage.FromUserName);
            Assert.IsNotNull(messageHandlers.EcryptRequestDocument);
            Assert.IsTrue(messageHandlers.UsingEcryptMessage);
            Assert.IsFalse(messageHandlers.UsingCompatibilityModelEcryptMessage);

            Console.WriteLine("RequestMessage:");
            Console.WriteLine(messageHandlers.RequestMessage.ToJson(true));

            await messageHandlers.ExecuteAsync(new CancellationToken());

            Console.WriteLine("ResponseMessage:");
            Console.WriteLine(messageHandlers.ResponseMessage.ToJson(true));
        }