تو در اولین مرحله ی پردازش درخواست، یعنی روال BeginRequest این بررسی رو انجام میدی و در صورتی که درخواست یک حمله تشخیص داده بشه، مراحل دیگه طی نمیشه. این یک مزیت هست اما کامل نیست! درگیری کمتره اما به هر حال وجود داره.
اینکه بشه یک پکت حاوی درخواست رو قبل از اینکه به منبع پردازش (در اینجا، IIS) ارسال بشه بررسی کرد بهترین راه حله. به همین دلیل هست که پیشنهاداتی در مورد سرور اختصاصی و راه حل های غیر برنامه نویسی دریافت کردی. اما با توجه به شرایطی که داری و محدودیت هایی که بیان کردی، روشی که توضیح دادم معقولانه ترین و کم هزینه ترین روشی هست که می تونی پیاده سازی کنی.

موفق باشید.