我们唯一注意到此值的时间似乎是服务崩溃,因为该值太低。解决这个问题的快速方法是将其设置为非常大的数字。那没问题。
我想知道的是,是否有任何负面的后果来设定这个值?
我可以看到它可以为拒绝服务攻击提供一些保护,但它是否还有其他任何功能?
答案 0 :(得分:3)
它有助于限制WCF服务器的压力。如果允许1'000个连接,并且允许每个连接向您发送1 MB的数据 - 您的服务器可能需要1 GB的RAM - 或者可能发生大量的交换/丢弃。
邮件大小的限制(以及并发连接/调用的限制)有助于将RAM使用率(以及CPU使用率)保持在可管理的水平。
它还允许您扩展,具体取决于您的服务器。如果你有一个单核CPU和4 GB或RAM,你可能无法处理足够多的流量,就好像你有一个16路CPU和32 GB或更多RAM。通过各种设置(包括MaxReceivedMessageSize),您可以将WCF环境调整为底层硬件的功能。
当然,正如您已经提到的那样:WCF中的许多设置都保持关闭或设置为较低的值,专门用于阻止恶意用户使用DoS攻击来淹没您的服务器并将其关闭。