7 ms·
Running ASP.NET Web API Services under Linux and OS X
- Yuioup 14y agoIt's sounds cool and all but would you run this in a production environment? I am a ASP.NET developer by day and Linux fan at night, but there is no way I can convince anyone run ASP.NET applications on Linux. I don't think you can reliably run ASP.NET applications on Linux. Or am I mistaken?
- zaidos 14y agoI would say this is entirely dependent on your use case. If you are running some simple web services in a cloud environment, it is generally cheaper to run them on a Linux system. Granted, if you are developing in .NET, you have probably already forked over some heavy cash for the development tools (Visual Studio, the OS, ReSharper, etc...) The key trade off is deciding if it is worth it to sacrifice compatibility with certain libraries for the development speed and costs of not having to learn an entirely new tech stack for yourself or your team. As for running ASP.NET on Mono, I believe that both are mature and capable enough of running in a production environment. The mono website has a page listing various companies using Mono (some with ASP.NET): http://www.mono-project.com/Companies_Using_Mono http://www.mono-project.com/Companies_Using_Mono
- Ecio78 14y agoIf you are running some simple web services in a cloud environment, it is generally cheaper to run them on a Linux system afaik there's not so much difference between a vps/virtual machine running Windows Server or Linux. I.e. for a cloud provider I'm using there's a difference of 5euro on a low level machine (30 euro) and same price for a more powerful machine (110euro for a 4 vcpu 8gb ram 50gb disk)
- marcocampos 14y agoMind telling us what provider are you using? It's hard to find a Windows VPS provider at decent prices.
- facorreia 14y agoI recommend taking a look at Microsoft's own hosting services (Azure). You can get either shared website hosting or VPSs running Windows or Linux. http://www.windowsazure.com/en-us/pricing/calculator/?scenario=web http://www.windowsazure.com/en-us/pricing/calculator/?scenar...
- brass9 14y agoServiceStack demos had been running on top of a Linux box for nearly one and a half year without a single reboot[1]. Much of the ASP.net stack had been opensourced by MS recently and the goodness had no doubt trickled down to mono. Of late, the mono framework has been concentrating more on mobile platforms than traditional desktop/server space. [1] http://www.servicestack.net/mythz_blog/?p=838 http://www.servicestack.net/mythz_blog/?p=838
- PallarelCoedr 14y agoYou will be, but not quite the way the author details. The OWIN [0] specification (which was solidified back in October 2012) was designed to completely separate .net web applications from their host (i.e. ASP.NET dependency on IIS). Similar to Ruby's Rack[1], it allows you to compose applications using one or more frameworks and/or middleware[2]. The KatanaProject [3], by MS, is a suite of projects for creating and hosting owin compatible web applications and is expected to see a v1 in the coming months. The ASP.NET (System.Web) host is already at v1[4](yes, asp.net can _host_ owin apps) and is used by SignalR [5,6] which is entirely OWIN based. Mono builds of KatanaProject are being worked on [7] (log on as guest). There are alternative non-MS hosts being developed, though not sure if any are serious projects yet. A future version of ASP.NET MVC will support OWIN[8]. You can of course use .net alternate frameworks instead of ASP.NET, such as FubuMVC[9], Oak[10], NancyFX[11], ServiceStack[12]. I know that NancyFX and ServiceStack support mono (linux) as a first-class OT, concern. OT, but you can even run node.js in-proc with OWIN based host.[13]. There is a lot going on in the .NET web app area! [0] http://owin.org/ http://owin.org/ [1] http://rack.github.com/ http://rack.github.com/ [2] http://dhickey.ie/post/2012/12/16/How-I-am-using-OWIN.aspx http://dhickey.ie/post/2012/12/16/How-I-am-using-OWIN.aspx [3] http://katanaproject.codeplex.com/ http://katanaproject.codeplex.com/ [4] http://nuget.org/packages/Microsoft.AspNet.SignalR.SystemWeb/ http://nuget.org/packages/Microsoft.AspNet.SignalR.SystemWeb... [5] http://nuget.org/packages/Microsoft.AspNet.Signalr http://nuget.org/packages/Microsoft.AspNet.Signalr [6] http://signalr.net/ http://signalr.net/ [7] http://teamcity.codebetter.com/project.html?projectId=project296 http://teamcity.codebetter.com/project.html?projectId=projec... [8] http://aspnet.uservoice.com/forums/41199-general-asp-net/suggestions/2381503-enable-asp-net-mvc-to-be-self-hosted-in-any-net-a http://aspnet.uservoice.com/forums/41199-general-asp-net/sug... [9] http://mvc.fubu-project.org/ http://mvc.fubu-project.org/ [10] http://amirrajan.github.com/Oak/ http://amirrajan.github.com/Oak/ [11] http://nancyfx.org/ http://nancyfx.org/ [12] http://www.servicestack.net/ http://www.servicestack.net/ [13] https://github.com/loudej/owin-js https://github.com/loudej/owin-js
- Yuioup 14y agoCool! I'll definitely read up on this.
- socialist_coder 14y agoI just got our production server for our new mobile game setup on AWS EC2 running a similar setup- Ubuntu, Mono, and Nginx. I wanted to use C# server side so I could share code with the client (a game written in C# + Unity3d). It was pretty easy to get up and running, even without running Visual Studio (I used Xamarin Studio (Monodevelop) for everything). I think it was a lot easier to get setup than this blog post makes it seem. I installed everything via apt-get and only touched 2 or 3 config files in total. The most confusing thing for me was what kind of ASP.NET project to create. I've never done any .NET web development before so the differences between a "Web Application", "MVC 2" and "MVC 3" project were not clear. I haven't done any load testing yet but I'm hoping it is stable and can handle all our meager load on a single EC2 instance. I'm also running DynamoDb and Redshift for a full AWS stack. After finally wrapping my head around ASP.NET MVC I think it has a lot more of a learning curve than a Python/Django type web app (my only other serious exposure to web apps). The way Django does routing, URL variables, and responses seems a lot more intuitive.
- PallarelCoedr 14y agoAsp.Net Empty Web Application is the base project for an IIS hosted... asp.net app. It just contains the bare minimum web.config and project settings to get started. Though there are too many project references imho. All asp.net projects are based off this. Asp.Net Web Forms Application is the original, and now derided, web framework. Consider it deprecated. Asp.Net MVC Web Application is comparable to Rails / Django and the current version is 4. The alternative to MS's MVC framework is FubuMVC [0] and is well respected. Another alternative and is far more lightweight is NancyFX [1], .net's equivalent to ruby's sinatra [2]. [0] http://mvc.fubu-project.org/ http://mvc.fubu-project.org/ [1] http://nancyfx.org/ http://nancyfx.org/ [2] http://www.sinatrarb.com/ http://www.sinatrarb.com/
- pjmlp 14y ago> Asp.Net Web Forms Application is the original, and now derided, web framework. Consider it deprecated. I wish it was so in the enterprise world.
- 14y ago