WCF中流媒体服务合同的大小和超时

eri*_*ric 5 c# streaming wcf wcf-binding

我目前正在开发一个小项目,我需要通过互联网发送一个可能很大的文件.

经过一番辩论后,我决定选择流媒体选项,而不是采用分块方法.文件可能非常大,我真的不想指定一个确切的上限,2GB可能是4GB,谁知道.

当然这可能需要很长时间.我再也不想暂停.它只需要花费多长时间,无所谓.

在尝试不同大小的不同文件时,我慢慢地,一步一步地调整我的BasicHttpBinding的属性.我只是想知道我想出的价值观是否基本没问题,或者它们是否完全是邪恶的?

transferMode="Streamed"
sendTimeout="10675199.02:48:05.4775807"
receiveTimeout="10675199.02:48:05.4775807"
openTimeout="10675199.02:48:05.4775807"
closeTimeout="10675199.02:48:05.4775807"
maxReceivedMessageSize="9223372036854775807"
Run Code Online (Sandbox Code Playgroud)

这只是感觉不对,这些只是每个底层数据结构的最大可能值.但我不知道还能做什么.

再说一次:

这基本上是正确的方法吗?或者我在这里完全误解和滥用框架?

谢谢

Mar*_*ell 2

那么,更自然的方法可能是以中等大小的块的顺序发送文件,并带有要提交的最终消息;这也使得从错误中恢复成为可能。完全开放的数字可能存在轻微的 DOS 问题...