ضمن تشکر از شما بابت به اشتراک گذاشتن پروژه، به نظرم تنها استفاده از context.Request.Browser.Crawler برای تشخیص اینکه آیا درخواست رسیده، خزنده هست یا خیر، کافی نیست. شاید بتوان در کنار و علاوه بر این کنترل، یک شرط دیگر هم به نحو زیر اضافه کرد و در نظر گرفت:
میتوان به مرور، لیست خزندهها را تکمیل کرد.
private static readonly List<string> KnownCrawlers = new List<string> { "bot","crawler","baiduspider","80legs","ia_archiver","ahrefsBot","twitterbot", "yoozbot","yandexBot","bitlybot","other", "sogou web spider", "python requests", "voyager","curl","wget","yahoo! slurp","mediapartners-google", "mj12bot", "seznamBot", "Sogou web spider", "360Spider", "sogouwebspider" };
public static bool IsBotOrCrawler(string agent) { agent = agent.ToLower(); return KnownCrawlers.Any(crawler => agent.Contains(crawler) || agent.Equals(crawler)); }