2014-10-27 4 views
0

Я реализовал веб-службу (C#), которая выполняет запросы на SQL Server. Я хочу ограничить количество исполнений, чтобы предотвратить атаку на SQL-сервер (например, одно исполнение за 20 секунд). Как это сделать?Ограничить количество запросов sql-запросов

+0

Лимит на одного пользователя? или лимит для всего приложения? – christiandev

ответ

0

Почему бы вам не сделать limit the number of concurrent connections on the database? Использование SQL Server. Он будет обрабатывать параллелизм для вас, поэтому вы не получите базу данных. Если вы используете WCF, вы также можете реализовать throthling. This article объясняет различные подходы к параллелизму с использованием WCF (Single, Multiple и Reentrant). В одном случае только один запрос будет обрабатываться веб-службой сразу и, следовательно, в базе данных сразу. В нескольких случаях вы будете обрабатывать несколько потоков, но в сочетании с Throttling вы сможете ограничить количество одновременных запросов.

0

Он должен быть в состоянии проверить, что запрос на уровне услуг, блокировать запрос, который приходя с высокой частотой, используя IP или какой-либо другой информации

Смежные вопросы