Для того, что вы хотите, вам все равно нужно проанализировать запрос, поэтому он всегда будет потреблять ресурсы сервера, особенно если у вас есть раздражающий пользователь , отправляющий запрос каждые 500 мс ...
В этих ситуациях вы блокируете IP / заголовок запроса на период, например, 10 минут, но было бы очень неплохо заблокировать его на вашем балансировщике нагрузки и предотвратить этот запрос, который даже достигнет вашего приложения, этоэто легко сделать, если вы используете сервисы Amazon для запуска своего Сервиса, но все другие облачные провайдеры также поддерживают это, если каким-либо образом вы используете облачный хостинг.
, если вы можете использовать только свой вебприложения, и это решение, которое не тестировалось, вы можете добавить игнорируемый маршрут к вашему механизму маршрутизации, например:
routes.IgnoreRoute("{*allignore}", new {allignore=@".*\.ignore(/.*)?"});
и, проверив, что IP заблокирован, просто перенаправить, используя, например, Response.Redirect()
на ваш сайт, на путь .ignore
... или почему бы не перенаправить этот запрос на google.com
просто ради удовольствия?