WCF服务限制

让我们假设我正在处理涉及发送大量数据的服务。

如果我用WCF实现它,WCF会根据每个请求服务的内存量来限制服务吗? 或者每次收到大量点击服务时,我是否会连续出现内存exception?

我很好奇在WCF之外处理这个问题,我对服务开发还有点新意…

虽然使用绑定属性和像Andrew Hare这样的readerQuotas建议在大多数实际应用中允许基本上无限大小,但请记住,如果您接受长时间运行的命令,无论该服务如何,您将遇到其他问题,例如超时构造(使用WCF或不使用)。

无论您的消息大小是多少,都需要限制WCF服务的性能,以免它被泛洪。 如果您在IIS或WAS中托管它,您将为这些托管环境提供额外的内置function,使您的服务更加“高可用”。 但是,您仍需要注意并发问题。 以下WCF配置提供了设置某些限制值的示例。

 ...          

WCF确实有一个默认的有效负载大小限制,它将拒绝超过一定数量字节的消息。 这当然可以在配置文件的绑定部分进行配置。 这是一个带有basicHttpBinding的粗略示例,向您展示了许多可用的属性:

       

这个想法是你可以创建许多不同的绑定,可以用于不同的场景。 这很好,因为您可以微调服务的使用方式,并且只增加需要它们的端点的消息大小限制。

如果您使用的是NetTCPBinding或NetNamedPipeBinding,则可以使用MaxConnections属性: