/// <summary>
        /// 搜索指定的卖家的商品的优惠券是否存在优惠券信息
        /// </summary>
        /// <param name="args_yuohuiquan"></param>
        /// <returns></returns>
        protected virtual IDataContainer FetchYouhuiquanExistsList(YouhuiquanFetchWebPageArgument args_yuohuiquan)
        {
            IDataContainer result = DataContainer.CreateNullDataContainer();

            if (null == args_yuohuiquan)
            {
                return(result);
            }

            //抓取优惠券信息-列表
            //解析参数的Web蜘蛛服务
            AlimamaWebPageService webPageService = new AlimamaWebPageService();

            try
            {
                result = webPageService.QueryYouhuiquanExistsList(args_yuohuiquan);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }


            return(result);
        }
Exemple #2
0
        static void TestASyncMessage(int count)
        {
            Console.Write("Please input serialize type(Default 3:json)   : (3:json, 0:none)");
            string strSerializeType = Console.ReadLine();

            if (string.IsNullOrEmpty(strSerializeType))
            {
                strSerializeType = "3";
            }
            int serializeType = 0;

            int.TryParse(strSerializeType, out serializeType);

            ISerialize <SoapMessage>   iSendMessageSerializer = null;
            ISerialize <DataContainer> iReturnDataSerializer  = new NTCPMessage.Serialize.JsonSerializer <DataContainer>();

            switch (serializeType)
            {
            case 0:
                strSerializeType = "none";
                break;

            case 3:
                strSerializeType       = "json";
                iSendMessageSerializer = new NTCPMessage.Serialize.JsonSerializer <SoapMessage>();
                break;

            default:
                serializeType    = 0;
                strSerializeType = "none";
                break;
            }

            Console.WriteLine("Serialize type is {0}", strSerializeType);

            SingleConnectionCable client = new SingleConnectionCable(new IPEndPoint(IPAddress.Parse(_IPAddress), _Port), 7);

            client.ReceiveEventHandler += new EventHandler <ReceiveEventArgs>(ReceiveEventHandler);
            client.ErrorEventHandler   += new EventHandler <ErrorEventArgs>(ErrorEventHandler);
            client.RemoteDisconnected  += new EventHandler <DisconnectEventArgs>(DisconnectEventHandler);

            try
            {
                client.Connect();

                Stopwatch sw = new Stopwatch();

                Console.WriteLine("Test send message begin:");

                if (serializeType == 0)
                {
                    sw.Start();

                    //---------基本类型 字符串明文消息发送-----------
                    try
                    {
                        for (int i = 0; i < count; i++)
                        {
                            var buffer      = Encoding.UTF8.GetBytes("ping");
                            var resultBytes = client.SyncSend((UInt32)MessageType.None, buffer);

                            var str = Encoding.UTF8.GetString(resultBytes);

                            Console.WriteLine(str);
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }

                    sw.Stop();
                    Console.WriteLine("Finished. Elapse : {0} ms", sw.ElapsedMilliseconds);
                }
                else
                {
                    ///标准soap消息发送
                    //var paras = new NTCPMessage.EntityPackage.Arguments.ETaoFetchWebPageArgument
                    //{
                    //    KeyWord = "洗面奶女"
                    //};
                    var paras = new YouhuiquanFetchWebPageArgument
                    {
                        ArgumentsForExistsList = new List <YouhuiquanFetchWebPageArgument.QuanArgument>
                        {
                            new YouhuiquanFetchWebPageArgument.QuanArgument
                            {
                                SellerId = 748501705,
                                ItemId   = 540267461790
                            },
                            new YouhuiquanFetchWebPageArgument.QuanArgument
                            {
                                SellerId = 1690420968,
                                ItemId   = 38002640105
                            },
                        },
                        ArgumentsForQuanDetails = new YouhuiquanFetchWebPageArgument.QuanArgument
                        {
                            SellerId = 1690420968,
                            ItemId   = 38002640105
                        }
                    };
                    string      msg         = JsonConvert.SerializeObject(paras);
                    SoapMessage testMessage = new SoapMessage()
                    {
                        Head = CommandConstants.CMD_FetchquanDetails,//CommandConstants.CMD_FetchquanExistsList,
                        Body = msg
                    };



                    sw.Start();


                    try
                    {
                        //模拟并发

                        for (int i = 0; i < count; i++)
                        {
                            var repResult = client.SyncSend((UInt32)MessageType.Json,
                                                            testMessage, 1800000,
                                                            iSendMessageSerializer);


                            if (null != repResult)
                            {
                                // string content = LZString.DecompressFromBase64(repResult.Result);
                                //Console.Write(content);
                                Console.WriteLine("from server response :{0}", repResult.Result);
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }


                    sw.Stop();
                    Console.WriteLine("Finished. Elapse : {0} ms", sw.ElapsedMilliseconds);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            finally
            {
                client.Close();
            }
        }