2

我知道,我的问题有点胡思乱想,但你会说什么是 WCF 配额的“最佳”设置,例如 MaxReceivedMessageSize 等?

我的服务大多返回小值,但有时返回值超过默认配额。还有更大的返回值,我在第二个端点作为流返回。

现在 MaxReceivedMessageSize 的默认值(毫无疑问,流式端点使用更高的值;我的问题涉及缓冲通信)我认为 65536 字节非常低。有很多“教程”只是将这个值设置为 Int32.MaxValue,这根本不是一个好主意;)你觉得呢?哪些值是可行的,但也足够安全,不会使您的服务容易受到 DoS 和其他东西的攻击?

问候

4

1 回答 1

0

Vialbe 值实际上取决于您期望的数据大小。如果您知道有时可以达到 256KB,则将该值设置为 256KB。在内部服务的情况下,限制可能会设置为,Int32.MaxValue但我认为这更多是关于对传输数据进行假设的懒惰。对于公共 Web 服务,您几乎不会设置该值,Int32.MaxValue因为任何人都可以炸毁您的服务器。

顺便提一句。如果我们谈论的是从服务返回的数据,那么这个决定在客户端 - 配额和MaxReceiveMessageSize目标接收消息都没有发送消息,因此如果您的服务返回数据以响应客户端的请求,则限制将在客户端设置。例如,在公共 Web 服务的情况下,您无法控制所有客户端,因此您还必须考虑要返回多少数据。

单独的端点是客户端和服务器端的单独配置。

于 2011-04-04T20:24:01.493 回答