Ограничение количества звонков на веб-службу ASMX - PullRequest
1 голос
/ 28 августа 2010

У нас есть веб-сервис asmx, размещенный в IIS6.Есть ли хороший способ ограничить количество обращений к услуге за определенный период времени для одного IP?Мы не хотим устанавливать жесткое ограничение (число раз в час), но мы хотим предотвратить скачок от одного пользователя.

В настоящее время мы расследуем вопрос о том, не работает ли наш брандмауэрспособен ограничивать попытки подключения.Если наш брандмауэр не может ограничивать соединения, есть ли хороший способ обработать это программно?Вместо того, чтобы пытаться придумать наше собственное индивидуальное решение и заново изобрести колесо, существует ли существующая реализация или стратегия, которую можно использовать?

1 Ответ

1 голос
/ 28 августа 2010

Веб-сервисы ASMX практически не расширяются.Если у вас есть выбор, вы должны использовать WCF.

Возможно, вы сможете написать метод, который будет вызываться из каждой вашей операции, который будет проверять IP-адрес вызывающего абонента, проверять базу данных и выдаватьSoapFault, если этот IP подключил слишком много.Это все, что есть, хотя.Вы можете сделать это с помощью SoapExtension, но вы должны быть очень осторожны с ними.

...