In a previous blogpost I told about Windows 10 IoT Core. This is great, because you can program in C# and you can add a Graphical user interface to it. But most of the IoT devices will not need user interaction or attached to a Monitor. The most IoT devices collect data and give that to others or keep track of an environment and are only expecting control information.
There may be enough reasons to use Windows 10 IoT Core, but it is not necessary for a Microsoft environment. Also on NOOBS (New Out of the Box Software) OS you definitely can use .NET.
For a couple of years the Mono project is going on and there lies the key of multi platform.
On your Raspberry PI 2 you can do: sudo apt-get install Mono-complete. With that you get Mono installed on your Raspberry.
The powerful Owin makes it possible to host a ASP.NET website on it.
The result:
Besides a website you can also host WebApi.
The result:
Pretty handy. I also have an example where a Raspberry PI 2 puts data on an Azure Storage queue. Because there is more on this, I will get back to that at a later moment.