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