无法将MemoryStream参数传递给WCF方法?

Gen*_*uza 1 .net c# asp.net silverlight wcf

我在Service1.svc.cs中有一个方法,下面是代码

public void SaveData(int UserId, System.IO.MemoryStream File)
{
   //Some code
}
Run Code Online (Sandbox Code Playgroud)

我从xaml.cs传递值

savedata.SaveDataAsync(userId, ms);
Run Code Online (Sandbox Code Playgroud)

错误是

无法从'System.IO.MemoryStream'转换为'SignSilverlight.ServiceReference1.MemoryStream'

怎么解决 ?

Hon*_*scz 6

内存流是.NET本地对象,无法将其传递给甚至可能无法运行.NET的远程计算机.

你必须传递一个byte []数组.但请注意端点设置中的大小限制.

以下是如何(de)将内存流序列化为数组

 // first endpoint
 var streamSending = new MemoryStream();
 var array = streamSending.ToArray();

 // second endpoint
 var streamRecieving = new MemoryStream(array);
Run Code Online (Sandbox Code Playgroud)