Cross-platform support for Web Service Frameworks


Great news that .NET is going open source. However, a big barrier to adoption (at least as I see it) is support for Web Service technologies like Classic ASP.Net/WCF/ASP.Net Web API on non-Windows platforms that support Apache/NGINX. ASP.Net support in Mono has been stagnant for years, but I think this a key piece of the open source puzzle.

Can anyone comment on the roadmap for supporting these?


I know that one of the big pushes with ASP.NET vNext is running ASP.NET on non-Windows platforms, so that will included Web API. As to WCF I don’t know


My understanding is that these bits will be released soon enough.

Once they do, two things can happen:

  • They can be integrated into Mono, replacing the stagnant implementation of some of those components.
  • When .NET Core/RyuJIT is available, someone could package those up in a .NET-Core friendly way and make those available under .NET Core setups.


The Mono project stopped trying to emulate ASP.NET back in 2012 when we open sourced ASP.NET MVC, Web API, Web Pages and SignalR. The project took an early snap of that code but never took a snap again as most of their focus was on the client via Xamarin. Starting with ASP.NET 5 which includes MVC, Web API and SignalR, because we no longer took a dependency on System.Web (aka IIS) the new version of ASP.NET now runs on Mono. We even have written a web server called Kestrel which is built on libuv (same library that Node.js is built on) which runs cross platform. We would expect you to stand up ASP.NET 5 behind a proxy like Nginx just like you would if you ran Node. Today you can run ASP.NET on Mono and once we release our first drops of the cross platform Core CLR you will be able to run it on top of an even more compatible runtime on Windows, Mac and Linux.

Daniel Roth

Is ASP.NET Ajax open-sourced?

Correct, the impetus behind ASP.NET vanished at this point.

There are still community members trying to complete the ASP.NET support for the “old stack” (you can see our mailing list and pull requests, it is an active topic).

The main issue that Mono’s System.Web has today is that it does not support the new async pipeline, so that made a lot of things just too hard.

If it was up to me, I would just have everyone just move to the new ASP.NET 5.

If it was up to me, I would also rename ASP.NET 5 to something that would indicate clearly a departure from the old System.Web.


Miguel, I think everyone except Microsoft shares this opinion :smile:

.NET Foundation Website | Blog | Projects | Code of Conduct