Classic ASP.NET, the one that emerged from the beginning of . NET is now considered a legacy technology. It will still be supported, but should not receive significant updates. Nor will I mention it then. And it is not a language.
The ASP.NET MVC is a newer technology and is now coming out a new version, which is part of a collection of technologies called ASP.ET Core. It is important not to confuse with ASP.NET 4.6 which is the classic and has decreed end of line.
ASP.NET MVC depended a little on ASP.NET. In a way it depended on IIS. Actually not so much because there is ASP.NET for ASP.NET Mono which runs on Linux, therefore can use Apache. The performance is not great, but still very good. We are talking about the use of C# which is a static and compiled language, so this counts a lot.
Now there is the .NET Core (is coming out of the oven) that runs on several platforms and the ASP.NET Core has been refurbished to work well on all platforms. With this new distribution itself . Microsoft NET (not an alternative third-party implementation) now supports fully and with full support, Linux and Macos.
The main reason for the creation of . NET Core is to be able to run ASP.NET Core well on these platforms using any server technology they wish.
This application server abstraction was obtained by implementing the OWIN. Today ASP.NET can run without an external server.
Mono tends to be legacy on these platforms in most scenarios. Today you want to use with Apache (mod_mono), it is still needed. There is nothing in . NET Core that works with it. This can change. There are ways to use the new ASP.NET as self-host plus the Nginx.
In fact now should survive only the . NET Core.
Managed to solve your problem, your question? Need help?
– durtto