我在Service1.svc.cs中有一个方法,下面是代码
public void SaveData(int UserId, System.IO.MemoryStream File)
{
//Some code
}
我从xaml.cs传递值
savedata.SaveDataAsync(userId, ms);
错误是
无法从'System.IO.MemoryStream'转换为 'SignSilverlight.ServiceReference1.MemoryStream'
如何解决?
答案 0 :(得分:6)
内存流是一个.NET本地对象,无法将其传递给甚至可能无法运行.NET的远程计算机。
您必须传递byte []数组。但请注意端点设置中的大小限制。
以下是如何(de)将内存流序列化为数组
// first endpoint
var streamSending = new MemoryStream();
var array = streamSending.ToArray();
// second endpoint
var streamRecieving = new MemoryStream(array);