代码之家  ›  专栏  ›  技术社区  ›  nivlam

限制对ASMX Web服务的调用数

  •  1
  • nivlam  · 技术社区  · 14 年前

    我们在IIs6中托管了一个ASMX Web服务。对于单个IP,是否有一个好的方法来限制在一段时间内对服务的呼叫数?我们不想设置一个硬限制(一小时X次),但我们希望能够防止单个用户出现峰值。

    我们目前正在调查防火墙是否能够限制连接尝试。在我们的防火墙无法限制连接的情况下,有没有一个好的方法可以通过编程的方式处理这个问题?与其尝试提出我们自己的定制解决方案并重新设计车轮,还有没有可以使用的现有实现或策略?

    1 回复  |  直到 14 年前
        1
  •  1
  •   John Saunders    14 年前

    ASMX Web服务几乎没有扩展性。如果您有任何选择,您应该使用wcf。

    您可能能够编写一个方法来从每个操作中调用,该方法将查看调用方IP,签入数据库,并在该IP连接太多时抛出SOAPFault。不过,这就是一切。您可能可以通过soapextension实现这一点,但必须非常小心。