ASP.NET фактически не привязан к IIS. .NET Framework включает HttpRuntime, который можно использовать для написания собственной хостинговой платформы. Вы можете легко написать консольное приложение, как вы можете для WCF, которое обеспечит среду выполнения ASP.NET без IIS.
Технически говоря, вы также можете написать модуль Apache, который подключается либо к отдельному процессу .NET, в котором размещается ASP.NET HttpRuntime, либо, возможно, подключается непосредственно к сборке .NET. Я не очень разбираюсь в написании расширений для Apache, однако, предполагая, что вы можете связать неуправляемый Apache с управляемым пробелом .NET, вы сможете разместить ASP.NET в Apache (что должно быть возможно, вам может понадобиться нативный и управляемый Библиотека C ++ для посредничества.)
Microsoft .NET Framework является удивительно расширяемым. Вы можете в значительной степени достичь того, на что рассчитываете, если у вас есть воля и время (и, возможно, средства). Однако платформа .NET обладает огромным количеством функциональных возможностей, и именно Microsoft должна решить, как они тратят свои деньги. Естественно, у них есть собственный бизнес, о котором нужно беспокоиться, и я не ожидал бы, что они будут тратить огромные суммы денег, давая преимущество своим конкурентам (это будет плохой бизнес и довольно разочаровывающая конкурентная практика, если вы спросите меня).