2

我们唯一一次注意到这个值似乎是当服务因为该值太低而崩溃时。解决此问题的快速方法是将其设置为一个非常大的数字。那么就没有问题了。

我想知道的是,将这个值设置得高有什么负面影响吗?

我可以看到它可能会为拒绝服务攻击提供一些保护,但它还有其他功能吗?

4

1 回答 1

3

它有助于限制 WCF 服务器的压力。如果您允许 1'000 个连接,并且每个连接都允许向您发送 1 MB 的数据 - 您的服务器可能需要 1 GB 的 RAM - 否则可能会发生大量交换/丢弃。

消息大小的限制(以及并发连接/调用的限制)有助于将 RAM 使用(以及 CPU 使用)保持在可管理的水平。

它还允许您根据服务器进行扩展。如果您有一个单核 CPU 和 4 GB 或 RAM,您可能无法处理与拥有 16 路 CPU 和 32 GB 或更多 RAM 一样多的流量。通过包括 MaxReceivedMessageSize 在内的各种设置,您可以调整 WCF 环境以适应底层硬件的功能。

当然,正如您已经提到的:WCF 中的许多设置都保持关闭或设置为低值,专门用于阻止恶意用户通过 DoS 攻击淹没您的服务器并将其关闭。

于 2010-01-22T15:22:23.103 回答