AppBeat Blog

Perfect Monitoring for Your Cloud

Running .NET Core web application on Linux

As proof of concept we tried to run AppBeat frontend (web application on https://appbeat.io/) on Ubuntu Linux 14.04.

First we had to switch to portable NuGet client library for WCF. This is necessary for communication with our backend. We then used auto generated proxies from Visual Studio "Add Service Reference" utility and only changed few lines of code (to explicitly cast objects to IDisposable at the end).

With this change web project was successfully compiled under dnxcore50 profile! Now everything was ready for Linux test!

We created fresh 64-bit installation of Ubuntu 14.04 and followed instructions on https://dotnet.github.io/getting-started/ and later https://docs.asp.net/en/latest/getting-started/installing-on-linux.html.

Everything went smoothly! At the end we configured firewall and installed nginx server. nginx is used to proxy requests to Kestrel server. Our application worked, but... It was really really slow :) We found out that there is an issue with current ASP.Net Core RC1 (Kestrel) and nginx combination and that it will be fixed with RC2 release (there were some workarounds published but it didn't help in our case). We will repeat test when RC2 is released.

Overall we are highly impressed with how things are evolving with .NET Core. Hat off to all participating in this project!

p.s.
I just quietly hope that Microsoft will decide to implement native compilation of web apps on .NET Core. That would be really really fantastic!

Comments are closed