代码改变世界

WCF 第四章 绑定 wsHttpBinding

2010-11-24 14:54  DanielWise  阅读(6376)  评论(0编辑  收藏  举报
wsHttpBinding
对WS-* 标准的支持一直贯穿于WCF架构中。wsHttpBinding绑定是这个支持的一个例子。这个绑定提供了在异构平台上交互通信的能力同时提供了高级架构级别的协议,比如安全,可信赖消息和事务。wsHttpBinding绑定是.NET Framework 3.0 的默认绑定,当你需要基于网络服务的交互通信时。
下面的代码显示了wsHttpBinding绑定的地址格式:
http://{hostname}:{port}/{service location}
https://{hostname}:{port}/{service location}
http协议的默认端口是80而https的默认端口是443。这是任何基于HttpTransportBindingElement绑定元素的情形,包括wsHttpBinding绑定。
表4.7 显示了wsHttpBinding绑定中可以设置的绑定属性。
表4.7 wsHttpBinding 绑定属性
下面的配置信息用来与列表4.2~4.4中显示的应用程序一起使用的。列表4.3中的配置信息使用wsHttpBinding绑定来暴露StockQuoteService服务。
列表4.13 wsHttpBinding 宿主配置
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <services>
            <service behaviorConfiguration="" name="EssentialWCF.StockQuoteService">
                <endpoint binding="wsHttpBinding" bindingConfiguration=""
                    contract="EssentialWCF.IStockQuoteService" />
                <host>
                    <baseAddresses>
                        <add baseAddress="http://localhost/stockquoteservice" />
                    </baseAddresses>
                </host>
            </service>
        </services>
    </system.serviceModel>
</configuration>
列表4.14 显示了使用列表4.13中的使用wsHttpBinding绑定的服务的客户端配置信息。
列表4.14 wsHttpBinding客户端配置
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <bindings />
        <client>
            <endpoint address="http://localhost/stockquoteservice" binding="wsHttpBinding"
                bindingConfiguration="" contract="EssentialWCF.IStockQuoteService"
                name="" />
        </client>
    </system.serviceModel>
</configuration>