WCF入门-关于配置文件

wcf的配置文件,包含服务端和客户端两个。入门用到的比较少,我先来做最简单的介绍。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="metadataBehavior">
          <serviceMetadata httpGetEnabled="true" httpGetUrl="http://127.0.0.1:3721/calculatorservice/metadata" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

    <services>
      <service  behaviorConfiguration="metadataBehavior" name="Service.CalculatorService">
        <endpoint address="http://127.0.0.1:3721/calculatorservice"
            binding="wsHttpBinding" bindingConfiguration="" contract="Service.Interface.ICalculator" />
      </service>
    </services>
  </system.serviceModel>
</configuration>

这么大一坨,其实新手用到的或者要了解的不需要太多,最好自己手工敲几遍,然后你大概就知道这都是什么东西了。

首先<system.serviceModel>

这个类似于叫服务模板吧,里面包含的东西也多,就不一一介绍了。主要研究下面这一块:

<services><!--服务组,就是你可以创建一堆的服务-->
      <!--behaviorConfiguration:这个可以忽略,name:服务的名字,就是前面创建的类库,命名空间.服务的类名-->
      <service  behaviorConfiguration="metadataBehavior" name="Service.CalculatorService">
        <!--endpoint:所谓的终结点  address:其实这个可以随便起,书上有具体的介绍,可以看具体的-->
        <!--binding:绑定,这个有很多的选项,书上有很多介绍,看书,默认的这个知道即可-->
        <!--contract:合同,其实就是那个服务接口,书面语叫合同-->
        <endpoint address="http://127.0.0.1:3721/calculatorservice"
            binding="wsHttpBinding" bindingConfiguration="" contract="Service.Interface.ICalculator" />
      </service>

客户端的配置,跟服务端基本没区别,主要多了个name用来区分的,因为后面要用,我把用的地方贴出来:

 <system.serviceModel>
    <!--client:就是客户端的意思嘛,所有的都在这里配置-->
    <client>
      <!--endpoint:跟客户端都一个样,终结点,这个多个name:也可以随便起,当然有意义更好,这个后面要引用的
      address:跟服务的一个样就行了
      binding:跟服务的一个样就行了
      contract:跟服务的一个样就行了-->
      <endpoint name="calculatorService" address="http://127.0.0.1:3721/CalculatorService" binding="wsHttpBinding" contract="Service.Interface.ICalculator"/>
    </client>
  </system.serviceModel>

main里面用到了这个:

 static void Main(string[] args)
        {
            using (ChannelFactory<ICalculator> channelFactory = new ChannelFactory<ICalculator>("calculatorService"))
            {
                //创建服务代理对象
                ICalculator proxy = channelFactory.CreateChannel();
                //调用计算器方法
                Console.WriteLine("x+y={2} when  x={0} and y={1}", 1, 2, proxy.Add(1, 2));
              
                Console.ReadLine();
            }
        }

配置里面的内容太多,慢慢学习,慢慢的掌握吧。我懂的也比较少。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

90e家

有C币的小伙伴可以贡献一点,哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值