WCFMTOM功能特点介绍

作为一款.NET Framework 3.5重要组成部件的WCF,它在实际应用中占据着一个非常重要的地位。在这里我们将会为大家讲解一个关于WCF MTOM的示例。此示例演示如何将消息传输优化机制 (MTOM) 消息编码与 WSHttpBinding 一起使用。WCF MTOM是一种机制,用来以原始字节形式传输包含 SOAP 消息的较大二进制附件,从而使所传输的消息较小。

创新互联于2013年开始,先为永和等服务建站,永和等地企业,进行企业商务咨询服务。为永和企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

默认情况下,WSHttpBinding 以正常文本 XML 形式发送和接收消息。若要允许发送和接收 MTOM 消息,请在绑定的配置中设置 messageEncoding 属性 (Attribute)(如下面的示例代码中所示),或者使用 MessageEncoding 属性 (Property) 直接在绑定中进行设置。服务或客户端现在可以发送和接收 MTOM 消息了。

 
 
 
  1. < wsHttpBinding> 
  2. < binding name="WSHttpBinding_IUpload" messageEncoding="Mtom"/> 
  3. < /wsHttpBinding> 

WCF MTOM编码器可以优化字节和流的数组。在下面的示例中,操作使用 Stream 参数,因此可以进行优化。

 
 
 
  1. [ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]  
  2. public interface IUpload  
  3. {  
  4. [OperationContract]  
  5. int Upload(Stream data);  

为该示例选择的协定会将二进制数据传输到服务,并将上载的字节数作为返回值接收。在安装服务之后运行客户端时,服务会显示数字 1000,这表示收到了全部 1000 个字节。剩下的输出列出了在各种负载情况下经过优化和未经优化的消息大小。

 
 
 
  1. Output:  
  2. 1000  
  3. Text encoding with a 100 byte payload: 433  
  4. MTOM encoding with a 100 byte payload: 912  
  5. Text encoding with a 1000 byte payload: 1633  
  6. MTOM encoding with a 1000 byte payload: 2080  
  7. Text encoding with a 10000 byte payload: 13633  
  8. MTOM encoding with a 10000 byte payload: 11080  
  9. Text encoding with a 100000 byte payload: 133633  
  10. MTOM encoding with a 100000 byte payload: 101080  
  11. Text encoding with a 1000000 byte payload: 1333633  
  12. MTOM encoding with a 1000000 byte payload: 1001080  
  13. Press < ENTER> to terminate client. 

以上就我们为大家介绍的WCF MTOM相关应用技巧。


标题名称:WCFMTOM功能特点介绍
标题网址:http://csdahua.cn/article/djhoedi.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流