Esempio n. 1
0
        public void GetMultipleUsersInfoAsync()
        {
            this.AsyncManager.OutstandingOperations.Increment();
            //string[] openIDList = new string[] {
            //    "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA",
            //    "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA",
            //    "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA",
            //    "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA",
            //    "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA",
            //    "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA",
            //    "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA",
            //    "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA",
            //    "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA",
            //    "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA", "oN7zZsyfPKXIb12Ml2khxmQSJqoA",
            //};
            string[] openIDList = new string[] {
                "oN7zZsyfPKXIb12Ml2khxmQSJqoA"
            };
            ICollection <string> nicknames = new List <string>();

            using (CountdownEvent cde = new CountdownEvent(openIDList.Length)) {
                foreach (string openID in openIDList)
                {
                    new Thread(() => {
                        this.m_service.BeginGetUserInfo(openID, WeChatLanguage.SimplifiedChinese, (ar) => {
                            IWeChatUserInfo user = null;
                            try {
                                user = this.m_service.EndGetUserInfo(ar);
                                nicknames.Add(user.Nickname);
                            } catch {
                            } finally {
                                cde.Signal();
                            }
                        }, null);
                    }).Start();
                }

                cde.Wait();
            }

            this.AsyncManager.Parameters["result"] = this.Content(nicknames.StringJoin("<br />"));
            this.AsyncManager.OutstandingOperations.Decrement();
        }
Esempio n. 2
0
        public IAsyncResult BeginProcessMessage(IWeChatMessage message, IOfficialAccountService service, AsyncCallback callback, object userState)
        {
            AsyncResult <IWeChatMessageResult> result = new AsyncResult <IWeChatMessageResult>(callback, userState);
            IWeChatTextMessage textMessage            = message as IWeChatTextMessage;

            if (string.Equals(textMessage.Content, "模板消息"))
            {
                string content = File.ReadAllText(HostingEnvironment.MapPath("~/order.json"), Encoding.UTF8).Replace("{openid}", textMessage.FromUserName);
                service.BeginSendTemplateMessage(content, (ar) => {
                    IWeChatTemplateMessageReturnValue value = service.EndSendTemplateMessage(ar);
                }, null);

                result.MarkCompleted(null, true, new WeChatTextReply {
                    ToUserName   = message.FromUserName,
                    FromUserName = message.ToUserName,
                    CreateTime   = message.CreateTime,
                    Content      = "系统随后将向您发送模板消息",
                });
            }
            else if (string.Equals(textMessage.Content, "客服消息"))
            {
                string content = File.ReadAllText(HostingEnvironment.MapPath("~/kf.json"), Encoding.UTF8).Replace("{openid}", textMessage.FromUserName);
                service.BeginSendCustomerServiceMessage(content, (ar) => {
                    service.EndSendCustomerServiceMessage(ar);
                }, null);

                service.BeginSendCustomerServiceMessage(new WeChatTextCustomerServiceMessage("嘿嘿哈嘿")
                {
                    ToUserName = message.FromUserName,
                }, (ar) => {
                    service.EndSendCustomerServiceMessage(ar);
                }, null);

                WeChatNewsCustomerServiceMessage news = new WeChatNewsCustomerServiceMessage {
                    ToUserName = message.FromUserName,
                };
                news.News.Items.Add(new WeChatNewsCustomerServiceMessageItem {
                    Title       = "丰满性感尤物洛可可浴室大摆诱人姿势",
                    Description = "丰满性感尤物洛可可浴室大摆诱人姿势",
                    PicUrl      = "http://www.xunmeitu.com/Static/Images/2016/12/24/185706528004254.jpg",
                    Url         = "http://www.xunmeitu.com/a/17798.html",
                });
                news.News.Items.Add(new WeChatNewsCustomerServiceMessageItem {
                    Title       = "性感田妞肤白貌美惹眼上围乳此动人",
                    Description = "性感田妞肤白貌美惹眼上围乳此动人",
                    PicUrl      = "http://www.xunmeitu.com/Static/Images/2016/10/07/153628983003544.jpg",
                    Url         = "http://www.xunmeitu.com/a/9837.html",
                });
                service.BeginSendCustomerServiceMessage(news, (ar) => {
                    service.EndSendCustomerServiceMessage(ar);
                }, null);

                result.MarkCompleted(null, true, new WeChatTextReply {
                    ToUserName   = message.FromUserName,
                    FromUserName = message.ToUserName,
                    CreateTime   = message.CreateTime,
                    Content      = "系统随后将向您发送客服消息",
                });
            }
            else
            {
                service.BeginGetUserInfo(message.FromUserName, WeChatLanguage.SimplifiedChinese, (ar) => {
                    IWeChatUserInfo userInfo = null;

                    try {
                        userInfo = service.EndGetUserInfo(ar);
                    } catch (Exception) {
                    }
                }, null);

                result.MarkCompleted(null, true, new WeChatTextReply {
                    ToUserName   = message.FromUserName,
                    FromUserName = message.ToUserName,
                    CreateTime   = message.CreateTime,
                    Content      = textMessage.Content,
                });
            }

            return(result);
        }