Я пишу традиционный веб-сервис ASMX, использующий C # с .Net 2.0 для развертывания на IIS.
Веб-сервис будет развернут в среде общего хостинга, где каждый клиент имеет свою собственную копию приложения, расположенную в отдельном виртуальном каталоге (я знаю, я знаю - это устаревшее приложение). В каждом виртуальном каталоге будет отдельная копия веб-службы.
Поскольку веб-служба потенциально может выполнять некоторые мощные функции, я хотел бы дополнительно ограничить доступ к ней определенными IP-адресами. Делать это в брандмауэре не очень хороший вариант, так как ограничивается только веб-сервис, а не остальная часть веб-сайта - и он находится на уровне каждого виртуального каталога.
Могу ли я программно прочитать IP-адрес запрашивающей стороны и сравнить его со списком, чтобы я мог отклонить вызовы из других адресов? Есть ли какие-либо серьезные подводные камни в этом?
Спасибо