[索引页]
[源码下载]


化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)


作者:webabcd


介绍
WCF(Windows Communication Foundation) - 消息处理:MTOM(Message Transmission Optimization Mechanism) - 消息传输优化机制。本文以web方式上传大文件为例。


示例
1、服务
IMtom.cs
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)using System;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Collections.Generic;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Linq;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Text;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.ServiceModel;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.IO;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
namespace WCF.ServiceLib.Message

Mtom.cs
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)using System;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Collections.Generic;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Linq;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Text;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.ServiceModel;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.IO;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
namespace WCF.ServiceLib.Message



2、宿主

Mtom.svc
%>

Web.config
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)<?xml version="1.0"?>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
<configuration>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)  
<system.serviceModel>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
<services>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<!--name - 提供服务的类名-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<!--behaviorConfiguration - 指定相关的行为配置-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<service name="WCF.ServiceLib.Message.Mtom" behaviorConfiguration="MessageBehavior">
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<!--address - 服务地址-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<!--binding - 通信方式-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<!--contract - 服务契约-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<!--bindingConfiguration - 指定相关的绑定配置-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<endpoint address="" binding="wsHttpBinding" contract="WCF.ServiceLib.Message.IMtom" bindingConfiguration="MtomBindingConfiguration" />
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
</service>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
</services>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
<behaviors>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<serviceBehaviors>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<behavior name="MessageBehavior">
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)          
<!--httpGetEnabled - 使用get方式提供服务-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)          
<serviceMetadata httpGetEnabled="true" />
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)          
<serviceDebug includeExceptionDetailInFaults="true"/>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
</behavior>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
</serviceBehaviors>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
</behaviors>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
<bindings>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<wsHttpBinding>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<!--messageEncoding - 指定用 MTOM 还是 Text 对 SOAP 消息编码-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<!--maxReceivedMessageSize - 在采用此绑定配置的通道上可接收的最大消息大小(单位:字节)-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<!--receiveTimeout - 在传输引发异常之前可用于完成读取操作的时间间隔-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<binding name="MtomBindingConfiguration" messageEncoding="Mtom" maxReceivedMessageSize="1073741824" receiveTimeout="00:10:00">
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)          
<!--maxArrayLength - 配额控制:允许的最大数组长度-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)          
<readerQuotas maxArrayLength="1073741824" />
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
</binding>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
</wsHttpBinding>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
</bindings>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)  
</system.serviceModel>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
</configuration>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)


3、客户端
Mtom.aspx

Mtom.aspx.cs
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)using System;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Collections;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Configuration;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Data;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Linq;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Web;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Web.Security;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Web.UI;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Web.UI.HtmlControls;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Web.UI.WebControls;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Web.UI.WebControls.WebParts;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.Xml.Linq;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.ServiceModel.Channels;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
using System.IO;
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
public partial class Message_Mtom : System.Web.UI.Page

Web.config
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)<?xml version="1.0"?>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
<configuration>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)  
<system.serviceModel>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
<client>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<!--address - 服务地址-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<!--binding - 通信方式-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<!--contract - 服务契约-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<!--bindingConfiguration - 指定相关的绑定配置-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<!--behaviorConfiguration - 指定相关的行为配置-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<!--endpoint address="http://localhost:3502/ServiceHost/Message/Mtom.svc" binding="wsHttpBinding" contract="MessageSvc.Mtom.IMtom" bindingConfiguration="MtomBindingConfiguration" behaviorConfiguration="MtomEndpointBehavior" /-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<endpoint address="http://localhost:3502/ServiceHost/Message/Mtom.svc" binding="wsHttpBinding" contract="MessageSvc.Mtom.IMtom" bindingConfiguration="MtomBindingConfiguration" />
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
</client>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
<bindings>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<wsHttpBinding>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<!--messageEncoding - 指定用 MTOM 还是 Text 对 SOAP 消息编码-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<!--sendTimeout - 在传输引发异常之前可用于完成写入操作的时间间隔-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<binding name="MtomBindingConfiguration" messageEncoding="Mtom" sendTimeout="00:10:00">
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)          
<!--maxArrayLength - 配额控制:允许的最大数组长度-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)          
<readerQuotas maxArrayLength="1073741824" />
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
</binding>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
</wsHttpBinding>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
</bindings>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
<behaviors>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
<endpointBehaviors>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
<behavior name="MtomEndpointBehavior">
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)          
<!--clientVia - 创建传输通道的 URI (tcpTrace抓soap的时候用)-->
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)          
<clientVia viaUri="http://localhost:8888/ServiceHost/Message/Mtom.svc" />
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)        
</behavior>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)      
</endpointBehaviors>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)    
</behaviors>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)  
</system.serviceModel>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)
</configuration>
化零为整WCF(7) - 消息处理(使用消息传输优化机制 - MTOM)


运行结果:
上传文件后提示上传成功



OK
[源码下载]

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-27
  • 2021-11-01
  • 2021-06-03
  • 2021-07-27
  • 2021-06-03
猜你喜欢
  • 2021-12-29
  • 2021-05-25
  • 2021-11-13
  • 2022-12-23
  • 2022-12-23
  • 2021-11-06
  • 2021-08-25
相关资源
相似解决方案