Ну самый простой вариант, но не в стиле ASP.net WebForms или MVC. Но такое в одном из моих проектов очень часто.
Default.ashx<%@ WebHandler Language="C#" Class="Default" Debug="false" %>
using System;
using System.Text;
using System.Security.Cryptography;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Caching;
using System.Xml;
using System.Configuration;
using System.Data.SqlClient;
public class Default : IHttpHandler
{
public void ProcessRequest (HttpContext context)
{
....
using (var conn = new SqlConnection(strSqlConnection))
{
conn.Open();
using (var comm = new SqlCommand("....", conn, null))
{
using (var reader = comm.ExecuteReader())
{
while (reader.Read())
{
context.Response.Write(reader["field"]+"<br>");
}
}
}
}
}
public bool IsReusable
{
get { return true; }
}
}