WCF基础知识有哪些
这篇文章主要介绍“WCF基础知识有哪些”,在日常操作中,相信很多人在WCF基础知识有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”WCF基础知识有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
WCF基础功能都放在一个单独的程序集System.ServiceModel.dll中。WCF的几个最重要的技术元素包括:绑定、契约、端点。
如前所述,绑定封装了通道的组成顺序与处理细节,它直接决定了WCF的通信方式,消息的编码方式,通道的协议,消息传递的可靠性以及安全等内容。通过使用绑定,我们就无需了解消息在WCF通道中的实现细节,从而简化程序员的开发。正是因为此,WCF为开发人员提供了多个内置绑定,基本上涵盖了WCF应用的大部分场景。以下是Aaron Skonnard在《WCF深度绑定》一文中列举的内置绑定:
绑定类名称 | 传输 | 消息编码 | 消息版本 | 安全模式 | 可靠消息传送 | 事务流(默认情况下禁用) |
BasicHttpBinding | HTTP | 文本 | SOAP 1.1 | 无 | 不支持 | 不支持 |
WSHttpBinding | HTTP | 文本 | SOAP 1.2 WS-Addressing 1.0 | 消息 | 禁用 | WS-AtomicTransactions |
WSDualHttpBinding | HTTP | 文本 | SOAP 1.2 WS-Addressing 1.0 | 消息 | 启用 | WS-AtomicTransactions |
WSFederationHttpBinding | HTTP | 文本 | SOAP 1.2 WS-Addressing 1.0 | 消息 | 禁用 | WS-AtomicTransactions |
NetTcpBinding | TCP | 二进制 | SOAP 1.2 | 传输 | 禁用 | OleTransactions |
NetPeerTcpBinding | P2P | 二进制 | SOAP 1.2 | 传输 | 不支持 | 不支持 |
NetNamedPipesBinding | 命名管道 | 二进制 | SOAP 1.2 | 传输 | 不支持 | OleTransactions |
NetMsmqBinding | MSMQ | 二进制 | SOAP 1.2 | 消息 | 不支持 | 不支持 |
MsmqIntegrationBinding | MSMQ | 不支持(使用 WCF 之前的序列化格式) | 不支持 | 传输 | 不支持 | 不支持 |
CustomBinding | 您决定 | 您决定 | 您决定 | 您决定 | 您决定 | 您决定 |
每种绑定对应不同的传输协议、消息编码格式和版本以及安全、可靠性和事务模式。WCF基础功能也提供了扩展绑定的方式,例如通过CustomBinding或者定义派生与Binding的类。
WCF 的契约包括服务契约、数据契约和消息契约(特别的,还包括了错误契约,用于异常的处理)。其中服务契约为面向服务应用程序的核心,通过它可以定义服务。数据契约则为服务所要传递的数据。由于服务的调用需要跨进程或机器进行通信,就需要服务数据必须能够被序列化和反序列化。虽然.NET本身提供了数据的序列化功能,但WCF的数据契约更加符合服务数据的定义习惯。至于消息契约,则可以将服务数据定义为消息,包括XML文本格式、MTOM(消息传输优化机制)格式和二进制格式。
到此,关于“WCF基础知识有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341