超简单WCF例子 - 配置文件版

本文详细解析了Windows Communication Foundation (WCF) 的配置过程,特别关注元数据发布方式及其对服务启动的影响。通过对比两种元数据发布方式,展示了如何优化服务部署效率,并强调了WCF在多协议支持方面的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我最欣赏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的亮点之一,多协议支持。

 

 

&:思考会让你更睿智

转载于:https://www.cnblogs.com/hualongbei/p/4150174.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值