首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF服务能返回Zip流吗?

WCF服务能返回Zip流吗?
EN

Stack Overflow用户
提问于 2013-01-17 10:55:15
回答 2查看 3.6K关注 0票数 2

我不得不在XML文件中存储一些非常大的字符串。现在,我想使用GZipStream压缩字符串,然后在客户端对它们进行解压缩。服务方法可以返回压缩流作为返回类型吗?

这是我的服务方法:

代码语言:javascript
复制
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附加信息中:在接收到mscorlib.dll响应时发生了错误。这可能是因为服务端点绑定没有使用HTTP协议。这也可能是由于服务器中止HTTP请求上下文(可能是由于服务关闭)造成的。有关详细信息,请参阅服务器日志.

EN

回答 2

Stack Overflow用户

发布于 2013-01-17 11:01:04

是的,WCF服务方法可以将Stream返回给客户端。您应该确保您的传输模式被设置为“流”;除此之外,它应该是直接的。

您可以在这里获得更多信息:WCF流教程

票数 2
EN

Stack Overflow用户

发布于 2013-01-17 11:05:47

是的,请看这个关于7 7Zip(LZMA) WCF消息压缩http://geekswithblogs.net/argot/archive/2009/10/27/wcf-message-compression---gzip-7zip.aspx的文章。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14377495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档