Среда выполнения ASP.Net может быть размещена любым процессом, который вам нужен, и на самом деле это довольно просто сделать.Ключ в использовании HttpRuntime класса.
Из моего ответа на тему " Скрытые возможности ASP.Net ":
public class HostingClass : MarshalByRefObject
{
public void ProcessPage(string url)
{
using (StreamWriter sw = new StreamWriter("C:\temp.html"))
{
SimpleWorkerRequest worker = new SimpleWorkerRequest(url, null, sw);
HttpRuntime.ProcessRequest(worker);
}
// Ta-dah! C:\temp.html has some html for you.
}
}
И затем в вашем классе веб-сервера:
HostingClass host = ApplicationHost.CreateApplicationHost(typeof(HostingClass),
"/virtualpath", "physicalPath");
host.ProcessPage(urlToAspxFile);
Очевидно, что это не совсем веб-сервер, но он показывает обработку запроса на страницу aspx, анализ страницы и вывод результата втекстовый файл.
Чтобы написать реальный сервер, вам, очевидно, понадобится прослушивать и принимать запросы от соединений с сокетами, но дело в том, что вы можете легко использовать среду выполнения asp.net, чтобы сократить ваши страницы длявы, и напишите всю свою собственную логику о том, как обслуживать их.