zoukankan      html  css  js  c++  java
  • 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回车

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

    为参数赋值:

    结果:

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

  • 相关阅读:
    不要试图给Password类型的TextBox赋值!
    asp.net与javacript之间的通讯
    这个iframe有点奇怪
    C#的异常处理机制 (转载)
    公匙算法.电子签名
    西煞魄工厂的入门教程
    Web services and SOAP
    观察者模式
    WebService:使用 Soap 标头自定义身份验证和授权(转载)
    社会型网络(3)-回到现实(转载)
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/3277599.html
Copyright © 2011-2022 走看看