我不得不在XML文件中存儲一些非常大的字符串。現在我想使用GZipStream
來壓縮字符串,然後在客戶端稍後解壓縮它們。 WCF服務方法可以返回zip流作爲返回類型嗎?WCF服務可以返回Zip流嗎?
還有就是我的服務方法:
public Stream ZipResponse()
{
byte[] byteArray = null;
GZipStream compressionStream = null;
try
{
var var_details = "XML String Here";
byteArray = Encoding.UTF8.GetBytes(var_details);
MemoryStream stream = new MemoryStream(byteArray);
compressionStream = new GZipStream(stream, CompressionMode.Compress, true);
}
catch (Exception e)
{ }
return compressionStream;
}
現在,當我打電話從客戶端ZipResponse()
方法,它拋出:
型「System.ServiceModel.CommunicationException」未處理的異常出現在mscorlib.dll附加信息:收到對XXX.XXX.XXX.XXX的HTTP響應時發生錯誤。這可能是由於服務端點綁定不使用HTTP協議。這也可能是由於HTTP請求上下文被服務器中止(可能是由於服務關閉)。查看服務器日誌獲取更多詳細信
你的問題實在是模糊的。也許嘗試充實一下,展示你嘗試過的東西以及你卡在哪裏。 你的問題的基本答案是肯定的。 如果您需要更多細節,我們需要您在問題中提供更多細節。 – HaemEternal
對不起我的問題海姆。我有WCF服務的12MB的xml字符串,我必須在zip流返回到clinet? – Sam
你可以通過WCF使用二進制流發送任何東西 – LoSTxMiND