Enable ASP.NET MVC to be self hosted in any .NET application (like WCF, Nancy etc.)
This is a really interesting concept that we will consider for a future version.
Is there any plans for this thing to happen in 2014?
Ryan Riley commented
This should be simple to do using IHttpActionRsult and something like the WebApiContrib.Formatting.Razor project.
Victor Woo commented
Is it possible to write a simple custom Console Application that includes a owin library that can host a Asp.Net Web Application directly (without katana.exe, like CassiniDev's library)?
Is it possible to let an Asp.Net Web Application including MVC 4, Web API, SignalR features hosted across IIS and owin, without / rarely changing code?
Miguel Jimenez commented
Must be OWIN complaint and maybe expose a self hosting class like Nancy, to embed in windows services and windows forms apps.
@Mark If it's OWIN based, as has been indicated, you'll at least get an entry point that can looks something like this:
Task ProcessRequest(IDictionary<string, object> environment)
Though there will probably be a friendlier API in conjunction with this.
Mark Seemann commented
Very importantly, it should be possible to communicate with the self-host server without going through the network stack.
As a comparison, the ASP.NET Web API self-host server supports this scenario, which is very important for in-proc acceptance testing, because it enables you to run the automated acceptance test without elevated privileges.
@Howard sounds awesome!
This is one of the scenarios that we're looking at under the umbrella of http://katanaproject.codeplex.com/ - right now, our focus is on making OWIN first class across the different hosting options and on making those scenarios blazingly fast. We'll then shift focus to the framework side of the equation. So this is definitely on our radar.
When considering this, consider doing it via OWIN (http://owin.org), which is already supported by SignalR, Nancy, FubuMVC, ServiceStack etc.
llewellyn falco commented
REALLY LIKE THIS, but think it comes down to allowing the template engine to run under normal context. That in particular I would vote +1,000 for.