VS自带WCF测试客户端简单介绍

在目前的二次开发项目中,一些信息是放在客户那里的,只给你一个服务地址,不知道具体有什么方法,每次想调用一个服务不知道能不能实现目前的需求,只能测试。写个测试程序真的划不来,占用时间不说,而且你忙了一上午,发现那个服务,并不是你想要的。只能说白忙了......下面简单介绍一下,从同事那里学到的怎么使用VS自带的测试客户端。操作很简单,但很实用。知道这个的,就不用说了,这篇文章就是帮助那些不知道的小伙伴的......

一个简单的WCF服务端:

契约:

 
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using System.ServiceModel;
 7 namespace Wolfy.Contract
 8 {
 9     [ServiceContract(Namespace="http://www.wolfy.com")]
10     public interface ICalculator
11     {
12         [OperationContract]
13         double Add(double x,double y);
14     }
15 }
 

服务:

 
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using Wolfy.Contract;
 7 namespace Wolfy.Service
 8 {
 9     public class CalculatorService : ICalculator
10     {
11         #region ICalculator 成员
12 
13         public double Add(double x, double y)
14         {
15             return x + y;
16         }
17 
18         #endregion
19     }
20 }
 

这里就用控制台来承载服务了

控制台代码开启服务:

 
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using Wolfy.Contract;
 7 using Wolfy.Service;
 8 using System.ServiceModel;
 9 namespace Wolfy.Server
10 {
11     class Program
12     {
13         static void Main(string[] args)
14         {
15 
16             using (ServiceHost host = new ServiceHost(typeof(CalculatorService)))
17             {
18 
19                 host.Opened += delegate
20                 {
21                     Console.WriteLine("calculatorService已启动,按任意键停止服务");
22                 };
23                 host.Open();
24                 Console.Read();
25             }
26         }
27     }
28 }
 

服务端配置文件:

 
 1 <?xml version="1.0"?>
 2 <configuration>
 3   <startup>
 4     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
 5   </startup>
 6   <system.serviceModel>
 7     <behaviors>
 8       <serviceBehaviors>
 9         <behavior name="MyServiceBehavior">
10           <serviceMetadata httpGetEnabled="true"/>
11         </behavior>
12       </serviceBehaviors>
13     </behaviors>
14     <services>
15       <service name="Wolfy.Service.CalculatorService" behaviorConfiguration="MyServiceBehavior">
16         <endpoint contract="Wolfy.Contract.ICalculator" binding="wsHttpBinding"></endpoint>
17         <host>
18           <baseAddresses>
19             <add baseAddress="http://127.0.0.1:8888/calculatorservice"/>
20           </baseAddresses>
21         </host>
22       </service>
23     </services>
24   </system.serviceModel>
25 </configuration>
 

一个简单的WCFdemo算完成了,现在开启服务....

打开VS测试客户端

在开发人员命令提示中输入:wcftestclient回车

然后右键我的项目:输入你的服务地址,当然这里你的服务要在开启的状态。

为参数赋值:

结果:

很简单吧,虽然不是很高深的东西,但很实用,如果您觉得对你有所帮助,那就【推荐】一下吧,毕竟大家知道才是真的知道。

原文地址:https://www.cnblogs.com/jameslif/p/4086749.html