我有一份类似的操作合同:
public interface ISearch
{
[OperationContract]
System.IO.Stream DownloadFile(string file);
}
绑定是nettcpbinding,当我设置缓冲和流传输模式时,wcf似乎都可以工作。 那么如何测试wcf是否在流模式下工作?
答案 0 :(得分:2)
在绑定配置上发回一个大于maxReceivedMessageSize
设置的文件(默认为64KB)。如果WCF处于Buffered
模式,则应该失败。如果它处于Streamed
或StreamedResponse
模式,则应该有效。
答案 1 :(得分:0)
可能是一个非常粗略的方法,但是,您可以使用Windows资源监视器来验证wcf实际上是否正在流式传输文件。在这里,我从IIS中托管的服务流式传输大文件。 Read / s和Write / s清楚地表明在流式传输时正在读取文件并且没有缓冲。