Wcf 防止西铁发生水浸

Wcf 防止西铁发生水浸,wcf,wcf-security,wcf-web-api,Wcf,Wcf Security,Wcf Web Api,我正在使用wcfwebapi。我想防止方法调用中的泛洪。我已将maxConcurrentCalls限制为10个。但我需要更多的约束。例如,若一些客户端在3秒内调用同一个方法,它必须抛出一个关于泛洪调用的异常。此外,如果某些客户端以每分钟十次的速度使用相同的参数调用相同的方法,则必须防止这种情况发生。我怎样才能用一种简单的方式做到这一点?在您的服务端,您无法阻止客户端发出请求。如果您预期的是高容量,那么您需要通过在前端放置负载平衡器来确保扩展您的服务端点 最好是实现每会话实例模式,然后在同一会话上

我正在使用wcfwebapi。我想防止方法调用中的泛洪。我已将maxConcurrentCalls限制为10个。但我需要更多的约束。例如,若一些客户端在3秒内调用同一个方法,它必须抛出一个关于泛洪调用的异常。此外,如果某些客户端以每分钟十次的速度使用相同的参数调用相同的方法,则必须防止这种情况发生。我怎样才能用一种简单的方式做到这一点?

在您的服务端,您无法阻止客户端发出请求。如果您预期的是高容量,那么您需要通过在前端放置负载平衡器来确保扩展您的服务端点

最好是实现每会话实例模式,然后在同一会话上调用过多时返回异常。这仍然意味着您需要处理单个呼叫


可能有一种方法可以使用网络负载平衡器阻止多余的请求,但我认为这不太可能。

如何为Web API设置“maxConcurrentCall”?通过web.config使用标准wcf服务很简单,但是web api呢?您是否在RouteTable.Routes.MapServiceRoute上提供的WebApiConfiguration实例中以编程方式执行了此操作?@Cristiano我已将此设置添加到serviceBehaviors=>ServiceThrottlingTanks下的web.config中,但如何将添加到web.config中的行为与特定的“wcf web api”服务/api关联?据我所知,使用“wcf web api”,您并没有将服务/web api映射到配置文件中。