从wcf绑定transferMode从"Buffered"更改为"Streamed"是否被认为是客户端的重大变化?

And*_*mer 16 .net c# wcf wcf-binding

我有一个WCF服务端点,通过流提供二进制文档.端点看起来像这样:

public Stream GetFile(int fileId){
...
}
Run Code Online (Sandbox Code Playgroud)

此服务端点的basicHttpBinding错误地配置为使用TransferMode ="Buffered".服务端点当前由我控制之外的各方使用.由于缓冲传输模式的内存消耗问题,我想将其更改为TransferMode ="Streamed".

我是否可以安全地对服务绑定配置进行此更改并期望这不会破坏任何集成方的任何内容?

Han*_*ney 7

据我所知,WCF流模式传输是在客户端选择加入,这意味着即使您在服务器上更改它,除非客户端改变其结束,否则他们仍然会在服务之前完整地接收流它作为一个缓冲的数据块.换句话说,它应该对您的客户端透明,但会使他们选择加入流式响应.