十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍“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基础知识有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!