我正在开发一个 WCF 项目,该项目生成并返回一个作为 System.IO.Stream 的 pdf 文件。我遇到了一种我无法解释的行为。
WCF 公开的方法之一如下:
Public Function Print(ByVal input As Integer) As Stream
'Do stuff here.
Return pdfStream
End Function
客户端调用该方法:
Dim streamReturn as Stream
streamReturn = Service.Print(input)
这很好用。当我尝试将输入的数据类型更改为 String 时出现了问题。
Public Function Print(ByVal input As String) As Stream
'Do stuff here.
Return pdfStream
End Function
当我在客户端更新服务参考时,现在列出了一个错误:
streamReturn = Service.Print(input)
“‘一维字节数组’类型的值无法转换为‘System.IO.Stream’。”
似乎当我的输入的数据类型更改为字符串时,传输模式从流式返回到缓冲。任何想法为什么?
编辑:WCF 在 .Net 4.0 中,客户端是 .Net 3.5