public async Task CancelTest()
        {
            CancellationToken cancellationToken = new CancellationToken();
            var postModel = new PostModel()
            {
                AppId = "appId"
            };
            {
                //一开始就取消
                var messageHandler = new CancelMessageHandlers(XDocument.Parse(xmlText.FormatWith(SystemTime.NowTicks, DateTimeHelper.GetUnixDateTime(SystemTime.Now))), postModel);
                messageHandler.CancelExcute = true;

                //缺少异步方法重写的时候,使用同步方法
                messageHandler.DefaultMessageHandlerAsyncEvent = NeuChar.MessageHandlers.DefaultMessageHandlerAsyncEvent.SelfSynicMethod;
                await messageHandler.ExecuteAsync(cancellationToken);

                Assert.AreEqual(null, messageHandler.RunStep);
            }

            {
                //OnExecuting中途取消
                var messageHandler = new CancelMessageHandlers(XDocument.Parse(xmlText.FormatWith(SystemTime.NowTicks, DateTimeHelper.GetUnixDateTime(SystemTime.Now))), postModel);
                await messageHandler.ExecuteAsync(cancellationToken);

                Assert.AreEqual("OnExecuting", messageHandler.RunStep);
                Assert.IsNotNull(messageHandler.RequestDocument);
                Console.WriteLine(messageHandler.RequestDocument.ToString());
                Console.WriteLine(messageHandler.RequestMessage.ToJson(true));
                Assert.IsNull(messageHandler.ResponseMessage);
            }
        }
        public void CancelTest()
        {
            {
                //一开始就取消
                var messageHandler = new CancelMessageHandlers(XDocument.Parse(xmlText));
                messageHandler.CancelExcute = true;
                messageHandler.Execute();

                Assert.AreEqual(null, messageHandler.RunStep);
            }

            {
                //OnExecuting中途取消
                var messageHandler = new CancelMessageHandlers(XDocument.Parse(xmlText));
                messageHandler.Execute();

                Assert.AreEqual("OnExecuting", messageHandler.RunStep);
            }
        }
Example #3
0
        public void CancelTest()
        {
            var postModel = new PostModel()
            {
                AppId = "appId"
            };
            {
                //一开始就取消
                var messageHandler = new CancelMessageHandlers(XDocument.Parse(xmlText), postModel);
                messageHandler.CancelExcute = true;
                messageHandler.Execute();

                Assert.AreEqual(null, messageHandler.RunStep);
            }

            {
                //OnExecuting中途取消
                var messageHandler = new CancelMessageHandlers(XDocument.Parse(xmlText), postModel);
                messageHandler.Execute();

                Assert.AreEqual("OnExecuting", messageHandler.RunStep);
            }
        }