zoukankan      html  css  js  c++  java
  • 超简单WCF例子

    我最欣赏linux的可定制性

    so, 配置本身就是一种美

    <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <!--第一种元数据发布方式,好像只支持HTTP/HTTPS-->
            <behavior name="CalcServiceBehavior">
              <serviceMetadata httpGetEnabled="true"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <services>
    
          <service name="ServiceLib.CalcService" behaviorConfiguration="CalcServiceBehavior">
            <host>
              <baseAddresses>
                <add baseAddress="http://127.0.0.1:8888/Calc"/>
              </baseAddresses>
            </host>
            <endpoint address=""
                      binding="wsHttpBinding"
                      bindingConfiguration=""
                      contract="ServiceLib.ICalcService" />
            <!--第二种元数据发布方式,支持各种协议-->
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
          </service>
        </services>
      </system.serviceModel>
    配置服务

    同样的,代码就可以省略为以下内容

    using (ServiceHost host = new ServiceHost(typeof(CalcService)))
    {
        host.Opened += (a, b) => Console.WriteLine("服务已开启");
        host.Open();
        Console.Read();
    }

    而,客户端无须做任何修改

    ~~~

    再来看两种元数据发布方式。

    你把第一种去掉试试 (●'◡'●)

    又报错了 ------

    不管了,网上的解释大概就是:第一种是HTTP—GET方式获取,而第二种以终结点形式发布则支持WS—*

    上面那句话是谁说的?怎么会出现在那?不管了,存在既有理,就让它留在那儿吧

    咳,下一篇将介绍WCF的亮点之一,多协议支持。

    &:思考会让你更睿智

  • 相关阅读:
    混用Int与IntPtr导致GetProcAddress始终返回null
    Net中获取程序集路径
    Sql server 2014 同一数据库换名还原,导致同名库一直处于还原状态
    微耕N3000注入
    Xaramin IOS 开发常见问题
    Vs2017 xaramin mac build agent部署后记
    Git 笔记
    spring AOP
    JAVA 反射原理
    Hyperledger Fabric:fabric private data技术【官方文档翻译】
  • 原文地址:https://www.cnblogs.com/hualongbei/p/4150174.html
Copyright © 2011-2022 走看看