当前位置: 代码迷 >> Web Service >> WCF传stream时,同时传多个其余参数,服务里把stream转byte[]
  详细解决方案

WCF传stream时,同时传多个其余参数,服务里把stream转byte[]

热度:115   发布时间:2016-05-02 02:17:48.0
WCF传stream时,同时传多个其他参数,服务里把stream转byte[]
为什么在服务里把 传入的stream转成byte[]格式报错 说是不支持方法
代码如下:
 public AdminInfoUpdateResponse AdminInfoUpdate(AdminInfoUpdateRequest request)
        {
                   byte[] Imgbytes = new byte[request.UserImage.Length];
                   request.UserImage.Read(Imgbytes, 0, Imgbytes.Length);
                    // 设置当前流的位置为流的开始
                   request.UserImage.Seek(0, SeekOrigin.Begin);
}
其中用到的传参数类以及返回值的类
 [MessageContract]
     public class AdminInfoUpdateRequest : IDisposable
     {
         [MessageHeader]
         public string AuthNum;

         [MessageHeader]
         public string AdminID;

         [MessageHeader]
         public string VipCardCode;

         [MessageHeader]
         public string UserName;

         [MessageHeader]
         public string UserSex;

         [MessageHeader]
         public string UserTel;

         [MessageHeader]
         public string UserBirthday;

         [MessageHeader]
         public string UserAddress;

         [MessageHeader]
         public string RoleID;

         [MessageHeader]
         public string UserIdentityCard;

         [MessageHeader]
         public string FarmID;

         [MessageHeader]
         public string UserID;

         [MessageHeader]
         public string Memo;

         [MessageHeader]
         public string format;

         [MessageHeader]
         public string sign;

         [MessageBodyMember(Order = 1)]
         public Stream UserImage;
         public void Dispose()
         {
             if (UserImage != null)
             {
                 UserImage.Close();
                 UserImage = null;
             }
         }   
     }
 [MessageContract]
     public class AdminInfoUpdateResponse
     {

         [MessageBodyMember(Order = 1)]
         public Stream result;
     }
------解决思路----------------------
1、二进制传输
2、压缩传输,解压展示
------解决思路----------------------
二进制=byte文件,代表的是一种数据格式。
stream是流的意思,代表的是一种机制。
------解决思路----------------------
引用:
Quote: 引用:

1、二进制传输
2、压缩传输,解压展示

改不来


把你的 public Stream UserImage 改为 public byte[] UserImage 有什么改不来的?
  相关解决方案