我有一个WCF方法:
public Stream GetFile(string systemName, string version, string type)
{
//Code omitted for brevity
return File.Open(path, FileMode.Open, FileAccess.Read);
}
这样可以返回一个我可以保存在另一端的有效文件。
我正在尝试将方法更改为:
public GetFileStreamResult GetFile(string systemName, string version, string type)
{
//Code omitted for brevity
var fs = File.Open(path, FileMode.Open, FileAccess.Read);
return new GetFileStreamResult
{
Stream = fs,
Checksum = fs.GenerateCheckSum()
};
}
GetFileStreamResult
的位置:
[DataContract]
public class GetFileStreamResult
{
[DataMember]
public Stream Stream { get; set; }
[DataMember]
public string Checksum { get; set; }
}
当我这样做时,我收到以下错误:
接收HTTP响应时发生错误 http://localhost:64175/UpdateService.svc。这可能是由于 服务端点绑定不使用HTTP协议。这也可以 是由于服务器中止了HTTP请求上下文 (可能由于服务关闭)。请参阅服务器日志了解更多 的信息。
我在网上找到关于返回Stream
的例子只返回流,而不是包含流的对象,所以任何帮助都会受到赞赏。