【问题标题】:Limiting number of calls to an ASMX Web Service限制对 ASMX Web 服务的调用次数
【发布时间】:2011-04-05 01:32:56
【问题描述】:

我们有一个托管在 IIS6 中的 asmx Web 服务。有没有什么好的方法可以限制单个IP在一段时间内调用服务的次数?我们不想设置硬性限制(每小时 X 次),但我们希望能够防止来自单个用户的峰值。

我们目前正在调查我们的防火墙是否能够限制连接尝试。如果我们的防火墙无法限制连接,是否有一种以编程方式处理的好方法?与其尝试提​​出我们自己的定制解决方案并重新发明轮子,有没有可以使用的现有实施或策略?

【问题讨论】:

    标签: c# web-services iis-6 asmx


    【解决方案1】:

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

    您也许可以编写一个方法,以便从您的每个操作中调用,该方法将查看调用者 IP,签入数据库,并在该 IP 连接过多时抛出 SoapFault。不过,这就是全部。您可能可以通过 SoapExtension 执行此操作,但您必须非常小心。

    【讨论】:

    • 我们无法将此服务迁移到 WCF,但我们将使用 WCF 开发任何新服务。由于这个问题是针对 asmx 的,所以我在这里专门针对 WCF 提出了另一个问题:stackoverflow.com/questions/3588866/…
    猜你喜欢
    • 1970-01-01
    • 2013-03-27
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    相关资源
    最近更新 更多