static void WcfTest()
        {
            int threadCount = 4;
            int port        = 9999;
            int count       = 10000;
            int errorCount  = 0;

            WcfHost <IHello, Hello> wcfHost = new WcfHost <IHello, Hello>();

            wcfHost.StartHost();
            IHello client = WcfClient.GetService <IHello>("http://127.0.0.1:14725");

            client.SayHello("Hello");
            Stopwatch   watch = new Stopwatch();
            List <Task> tasks = new List <Task>();

            watch.Start();
            LoopHelper.Loop(threadCount, () =>
            {
                tasks.Add(Task.Run(() =>
                {
                    LoopHelper.Loop(count, index =>
                    {
                        var msg = client.SayHello("Hello" + index);
                        //Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss:ffffff")}:{msg}");
                    });
                }));
            });
            Task.WaitAll(tasks.ToArray());
            watch.Stop();
            Console.WriteLine($"并发数:{threadCount},运行:{count}次,每次耗时:{(double)watch.ElapsedMilliseconds / count}ms");
        }
Exemple #2
0
        static void WcfTest()
        {
            int count = int.MaxValue;

            WcfHost <IHello, Hello> wcfHost = new WcfHost <IHello, Hello>();

            wcfHost.StartHost();
            IHello client = WcfClient.GetService <IHello>("http://127.0.0.1:14725");

            client.SayHello("Hello");
            Stopwatch watch = new Stopwatch();

            watch.Start();
            LoopHelper.Loop(1, () =>
            {
                Task.Run(() =>
                {
                    LoopHelper.Loop(count, index =>
                    {
                        var msg = client.SayHello("Hello" + index);
                        Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss:ffffff")}:{msg}");
                    });
                }).Wait();
            });
            watch.Stop();
            Console.WriteLine($"每次耗时:{(double)watch.ElapsedMilliseconds / count}ms");
        }
Exemple #3
0
        static void Main(string[] args)
        {
            WcfHost <MyService, IMyService> wcfHost = new WcfHost <MyService, IMyService>("http://localhost:14725", "http://localhost:14725/mex");

            wcfHost.HandleHostOpened = new Action <object, EventArgs>((obj, tar) =>
            {
                Console.WriteLine("服务已启动!");
            });

            wcfHost.StartHost();

            while (Console.ReadLine() != "quit")
            {
            }
        }
Exemple #4
0
        static void Main(string[] args)
        {
            //创建Wcf服务对象,泛型参数Service为实现类,IService为服务接口
            //第一个参数baseUrl为服务基地址(必须为真实地址)
            //第二个参数httpGetUrl为服务引用地址(必须为真实地址),也就是客户端添加服务引用时用的地址
            WcfHost <Service, IService> wcfHost = new WcfHost <Service, IService>("http://localhost:14725", "http://localhost:14725/mex");

            //当Wcf服务开启后执行的事件
            wcfHost.HandleHostOpened = new Action <object, EventArgs>((obj, tar) =>
            {
                Console.WriteLine("服务已启动!");
            });

            //开始Wcf服务
            wcfHost.StartHost();

            while (Console.ReadLine() != "quit")
            {
            }
        }