zoukankan      html  css  js  c++  java
  • web service传递stream二进制对象

    今天遇到的问题,在园子里找到了解决方案:http://www.cnblogs.com/andy65007/archive/2009/11/24/1609584.html

    Web Service是一种跨平台的分布式解决方案,使用标准XML格式的SOAP消息传递信息,统一了不同平台的通讯协议,便于我们实现异构系统的交互;但使用统一的XML格式带来的问题就是此协议只支持基本的数据类型, 或包装了基本数据类型的简单对象,我们无法在.net中使用web service直接传递.net对象或二进制流,只有把对象或二进制流序列化为字符串才可以在web service中传递。有2种使用web service方式传递Stream对象的方法:

    1.转为字符串(范例):

    staticvoid Main(string[] args)
    {
        FileStream stream
    =new FileStream("C:\\test.xls", FileMode.Open);
       
    byte[] buff =newbyte[stream.Length];
        stream.Read(buff,
    0, buff.Length);
       
    string strParam = Convert.ToBase64String(buff);

       
    //Below invoke web service
        MyWebService service =new MyWebService();
        service.SendFile(strParam);
    }

    2.

    使用Microsoft的WSE(Web Services Enhancements)扩展web service:

  • 相关阅读:
    9月9号作业
    9月9号笔记
    jupyter的补充
    jupyter的使用
    9月6号作业
    编程语言的分类
    计算机组成
    计算机组成的补充
    面向对象基础
    9月2号作业
  • 原文地址:https://www.cnblogs.com/notebook2011/p/2720125.html
Copyright © 2011-2022 走看看