【发布时间】:2012-07-09 13:48:01
【问题描述】:
我正在使用 WCF 并尝试将对象列表(或数组)返回给我的客户端。 它似乎适用于标准类型,我可以返回自定义对象,但不能返回自定义对象列表(即使列表中只有一项)。
我已经阅读了大量有关该主题的内容,但似乎无法理解。 编译正常,但是在客户端,当我到达我的函数时,客户端抛出异常
“接收 HTTP 响应时发生错误。这可能是由于 到不使用 HTTP 协议的服务端点绑定。这 也可能是由于 HTTP 请求上下文被 服务器(可能是由于服务关闭)。查看服务器日志 了解更多详情。”
我尝试了一些想法,目前我的对象如下所示:
[DataContract]
public class FilePacket : IDisposable
{
//[MessageHeader(MustUnderstand = true)]
[DataMember]
public string fileName;
//[MessageHeader(MustUnderstand = true)]
[DataMember]
public long fileSize;
//[MessageBodyMember(Order = 1)]
[DataMember]
public System.IO.Stream fileByteStream;
public void Dispose()
{
if (fileByteStream != null)
{
fileByteStream.Close();
fileByteStream = null;
}
}
}
【问题讨论】:
-
你的运营合同是什么样的?
-
我试过 [OperationContract] FilePacket syncStuff(); [OperationContract] FilePacket[] syncStuff(); [OperationContract] List
syncStuff();等 -
[OperationContract] FilePacket[] syncStuff();似乎是正确的,应该可以工作。
-
您能否只返回一个流属性为空的对象列表,以测试您的自定义对象是否有问题。
-
拉杰什,好建议!如果流为空,它确实有效。那我现在该怎么办?
标签: wcf