非常に大きな文字列を XML ファイルに格納する必要がありました。GZipStream
ここで、aを使用して文字列を圧縮し、後でクライアント側で解凍し
たいと考えました。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 要求コンテキストがサーバーによって中止されたことが原因である可能性もあります (サービスのシャットダウンが原因である可能性があります)。詳細については、サーバー ログを参照してください。