In ASP.NET, we have something that is usually overlooked that is called Generic Handlers. I see a lot o f people using pages to process AJAX requests when we can use this much less expensive endpoint.
This is an completely worked out Generic Handler that truly knows how to handle your http (AJAX and not) requests.
For now, for a detailed explanation, please look at the original CodeProject article