在目前的二次开发项目中,一些信息是放在客户那里的,只给你一个服务地址,不知道具体有什么方法,每次想调用一个服务不知道能不能实现目前的需求,只能测试。写个测试程序真的划不来,占用时间不说,而且你忙了一上午,发现那个服务,并不是你想要的。只能说白忙了......下面简单介绍一下,从同事那里学到的怎么使用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回车
然后右键我的项目:输入你的服务地址,当然这里你的服务要在开启的状态。
为参数赋值:
结果:
很简单吧,虽然不是很高深的东西,但很实用,如果您觉得对你有所帮助,那就【推荐】一下吧,毕竟大家知道才是真的知道。