WCF 第四章 绑定 使用基础Web Services
2010-11-24 14:48 DanielWise 阅读(843) 评论(0) 编辑 收藏 举报Web 服务时异构系统间相互通信的基础。比如,基于JAVA平台创建的IBM Websphere或者BEA WebLogic服务必须与基于.NET 平台创建的客户端和服务端进行无缝连接。基于.NET平台创建的服务必须与基于JAVA平台创建的客户端和服务端进行无缝连接。在WCF出现之前,ASP.NET Web 服务(ASMX)和高级Web 服务在.NET平台上提供了这种能力。在.NET 3.0时,WCF直接取代了这些技术并提供了一个单独的统一的架构来创建Web 服务。WCF包括了很多种暴露交互式Web 服务的绑定,包括basicHttpBinding, wsHttpBinding, wsDualHttpBinding和wsFederationHttpBinding绑定。
在这一章节,我们检查basicHttpBinding绑定,它提供对基于WS-I 基础协议1.1 Web 服务的支持。截至2007年,WS-I 基础协议1.1 覆盖了大多数广泛的基于Web 服务协议的部署而且是最大多开发人员所熟悉的Web服务。其他的基于Web 服务的绑定会稍后在”使用高级Web 服务通信”章节中介绍,同时也会在本书的第八章讨论。
basicHttpBinding
basicHttpBinding 绑定提供对基于WS-I 基础协议1.1(WS-BP 1.1)标准的Web 服务通信的支持。这包括比如SOAP 1.1, WSDL 1.1 和消息安全1.0(包括X.509和用户名令牌协议v1.0)。WS-BP 1.1 标准早在2004年就已经指定。尽快basicHttpBinding绑定提供异构系统的交互通信,它不提供对最新的Web 服务标准比如事务和可信赖消息的支持。basicHttpBinding绑定意味着要与使用基于WS-BP 1.1 标准的Web 服务的应用程序一起使用,比如ASP.NET ASMX Web 服务。
注意 创建基于最新标准的服务
basicHttpBinding绑定意味着要与先前基于ASP.NET技术的遗留Web 服务一起工作。这也就是说basicHttpBinding绑定默认配置为使用原有标准,比如SOAP 1.1.basicHttpBinding绑定也是唯一的默认情况下不采用安全机制的绑定。如果你需要创建新的Web 服务,我们建议使用ws2007HttpBinding绑定,因为它配置为使用新的标准而且默认支持安全性。
下面的代码显示了basicHttpBinding绑定的地址格式:
http://{hostname}[:port]/{service location}
https://{hostname}[:port]/{service location}
Http协议默认端口是80, Https默认端口是443。这是任何基于HttpTransportBindingElement绑定元素的绑定情况。最常用的方式是使用https来获得安全的basicHttpBinding绑定,使用SSL/TLS加密。
表4.5 列出了在basicHttpBinding绑定上可以设置的属性。
表4.5 basicHttpBinding 绑定属性
下面的配置信息用来与列表4.2到4.4中的样例一起使用。列表4.11中的配置信息使用basicHttpBinding绑定暴露StockQuoteService服务。
列表4.11 basicHttpBinding 宿主配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <? xml version="1.0" encoding="utf-8" ?> < configuration > < system.serviceModel > < services > < service behaviorConfiguration="" name="EssentialWCF.StockQuoteService"> < endpoint binding="basicHttpBinding" bindingConfiguration="" contract="EssentialWCF.IStockQuoteService" /> < host > < baseAddresses > < add baseAddress="http://localhost/stockquoteservice" /> </ baseAddresses > </ host > </ service > </ services > </ system.serviceModel > </ configuration > |
列表4.12 显示了调用列表4.11中使用basicHttpBinding绑定的服务的客户端配置信息。
列表4.12 basicHttpBinding客户端配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <? xml version="1.0" encoding="utf-8" ?> < configuration > < system.serviceModel > < services > < service behaviorConfiguration="" name="EssentialWCF.StockQuoteService"> < endpoint binding="basicHttpBinding" bindingConfiguration="" contract="EssentialWCF.IStockQuoteService" /> < host > < baseAddresses > < add baseAddress="http://localhost/stockquoteservice" /> </ baseAddresses > </ host > </ service > </ services > </ system.serviceModel > </ configuration > |
作者:DanielWise
出处:http://www.cnblogs.com/danielWise/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述