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"); }
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"); }
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") { } }
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") { } }