我正在使用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