是否可以返回作爲Wcf方法返回數據的複雜對象的一部分的流?WCF - 使用流數據返回對象
我已經檢查了大多數使用Wcf查看流數據的msdn引用;如this one。當方法返回類型爲Stream(或參數爲流)時,所有示例都顯示如何返回流。
我想知道的是,如果數據是複雜對象屬性的一部分,它可以返回流嗎?例如,可以的GetData()返回包含流數據如下圖所示:
[DataContract]
public class Data
{
[DataMember]
public string Info { get; set; }
/// <summary>
/// This is the file stream that would be returned to client.
/// </summary>
[DataMember]
public Stream File { get; set; }
}
[ServiceContract()]
public interface IService
{
[OperationContract]
Data GetData();
}
從我的初步測試,似乎這是行不通的。我在客戶端發生異常(意外套接字關閉)。無論DataContractSerialization或XmlSerialization如何,結果都是相同的。我已使用TransferMode.Streamed
設置了所需的流模式。
感謝您的詳細信息。這似乎也是我的試驗和錯誤實驗的結果。 MSDN應清楚地提到您不能將流作爲另一個對象的一部分發送出去。 – loopedcode