在WCF服务中返回byte []

时间:2010-05-21 19:42:44

标签: wcf

在WCF服务中返回一个将由许多应用程序调用的byte []是一个好习惯

下面是代码

public byte[] GetDoc(string docParam)
{
    byte[] doc;
    doc = GenerateDoc(docParam);
}

由于

3 个答案:

答案 0 :(得分:2)

将常用代码分解为方便的方法是一种很好的做法,这样许多调用者就可以调用这种方便的方法。这与返回类型无关。如果调用者需要操纵byte[],那么这可以变得方便并消除冗余代码。

顺便说一下,关于您发布的代码,是真实代码还是仅仅是一个示例?如果它是真正的代码:

  1. 它不会编译,因为它不会返回byte[]
  2. 如果您要将return doc;作为最后一行,为什么GenerateDoc()内有GetDoc()GetDoc()并没有真正带来任何真正的好处。

答案 1 :(得分:2)

绝对可以返回byte[],WCF允许您使用MTOM编码执行此操作。

如果二进制缓冲区的大小很大,您可以使用WCF streaming。在这种情况下,您将返回Stream数据类型,并从客户端的Stream读取。

答案 2 :(得分:0)

当您想要传输二进制缓冲区时使用它,并使用MTOM编码执行大数据传输(在Binding配置上设置)。如何执行大数据传输found here