اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
یک دقیقه
چندین نمونه استفاده از jQuery Ajax در ASP.NET Webforms را در این سایت میتوانید پیدا کنید؛ برای مثال:
سؤالی که در تمام این موارد حائز اهمیت است این مورد میباشد که "از کجا متوجه شوم وب سرویس مورد استفاده واقعا توسط اسکریپت سایت جاری فراخوانی شده و نه توسط یک برنامهی خارجی؟"
در اینجا میتوان از سورسهای ASP.NET MVC کمک گرفت : (+). همان متد IsAjaxRequest را در ASP.NET Webforms هم میشود استفاده کرد:
public static bool IsAjaxRequest(this HttpRequestBase request)
{
if (request == null)
{
throw new ArgumentNullException("request");
}
return (request["X-Requested-With"] == "XMLHttpRequest") ||
((request.Headers != null) && (request.Headers["X-Requested-With"] == "XMLHttpRequest"));
}
حاصل IsAjaxRequest باید در ابتدای تمام درخواستهای رسیده بررسی شود. البته باید دقت داشت که این بررسی را به آسانی میتوان دور زد (چون بر اساس هدرهای رسیده است)، اما باز هم بهتر از هیچ نوع نظارتی میباشد.