我正在使用RESTful WCF服务。其中一个服务方法返回byte [](其中包含一个文件)。Restful WCF服务 - 返回byte []?
在客户端,我有一些代码使用WebRequest类来调用特定的服务方法。使用WebRequest的,我得到的响应流,如:
Stream stream = webReq.GetResponse().GetResponseStream();
从这个流,我再重建一个byte [],然后在本地输出文件。问题是客户端重建的文件与服务端返回的文件不相似(我得到的损坏的PDF文件比服务端发送的文件大得多)。在服务方法返回byte []之前,我将该byte []输出到服务端的磁盘上,并创建了文件...这指向返回byte []的方法和我的客户端之间的错误从客户端上的一个流重建的byte [] ...重建从流中的byte [],我用下面的方法,有人张贴在过去的计算器:
public static byte[] ReadFully(Stream input)
{
byte[] buffer = new byte[16*1024];
using (MemoryStream ms = new MemoryStream())
{
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return ms.ToArray();
}
}
任何想法会发生什么问题?
你可以发布你的服务的骨架和服务配置文件的配置吗? – Rajesh 2012-01-18 10:19:23