MTOM文件的续传功能(三) Client 端程序介绍

使用WSE 3.0 MTOM的技术,让Web Service也可以传文件,而且传输更有效率,这篇将带到Client端的部分说明.


  上一篇写了MTOM Server端的部分,这次要写的就是Client端的程序要怎么跟Server交互,也就是最后一篇,废话不多说,马上进入正题,Client端的程序跟Server端一样,要用WSE的Configuration Tool来设定,而Web Service是存在Web.Config,那Client端的WinForm就是存在app.config

?xml version="1.0" encoding="utf-8"?>

  
    
      

    

    
      

    

    

  

  
    
      
         http://localhost:2448/MTOMWebService/ServiceMTOM.asmx
      

    

  

  
    
      
         c:temp
      

    

  

  
    
      
        
      

    

    
      
        
      

    

  

  
    
      
    

  


因为有Tool可以帮忙,里面的设定就不用一个一个打上去了.

开始步骤跟Web Service的做法一样,开启app.config,并做以下的设定.

做完上述设定,app.config就大致上完成了,接着下来就要要将Web Service加入参考,原本这是个很平常的动作,但有一点地方要注意一下,加入后的Web Service,要看一下它的Reference.cs.

反蓝的那一段必需为Microsoft.Web.Services3.WebServicesClientProtocol

系统默认会是System.Web.Services.Protocols.SoapHttpClientProtocol

这点要注意到,它会导致错误.

这样就完成大部分的设定工作,接下来就是Coding部分,在我们new Web Service时,有个属性要记得设,RequireMtom = true;

接下来就是调用Web Service的Method来进行上/下载,其实设定到这里,已经完成了大半,而调用Web Service的动作就像我们在调用一般的function一样,没有什么特别的动作,比如说下载.

如此就可以从Web Service取得到文件的buffer,再将buffer用FileStream写到文件即可,上传也是一样,用FileStream读取本端的档档到buffer,再调用Web Service把这Buffer给上传过去即可.

在使用WSE这段时间以来,发现它还不错用,在用SSL时有遇到一点小问题,但后来也是解决了,但WSE 3.0后就没有再出下一版了,因为它整合到WCF内,未来有机会再来看看WCF版的传档.

这次程序的介绍部分不多,因为有点小长,主要是因为用backgroundworker,及浮动式依传输速率去调整Buffer的长度,如果走固定又不用backgroundworker,程序就简单许多,所以这次放上整个Source Code,给有兴趣的朋友参考,这个就包含Web Service及Client端的程序.

源代码下载 :

MTOM.rar




原文:大专栏  MTOM文件的续传功能(三) Client 端程序介绍


猜你喜欢

转载自www.cnblogs.com/chinatrump/p/11490976.html