I'm planning to host Asp.Net Core 2 application without IIS on Windows.
The default way to create web host seems to be using WebHost.CreateDefaultBuilder. But what is confusing me is that inside there is a call to the method UseIISIntegration.
Is it ok to use WebHost.CreateDefaultBuilder when hosting Asp.Net Core 2 app without IIS on Windows? Or other options are advisable?
Its absolutely fine to use WebHost.CreateDefaultBuilder
As when hosting with IIS it just work as proxy and redirect request to kestrel server.
It doesn't create much of problem.
Take a look at this article here
Related
In OutOfProcess hosting model, there are 2 web servers i.e. one internal web server and one external web server. The internal web server is called Kestrel and the external web server can be IIS, Apache, or Nginx.
When Kestrel is the cross-platform web server for the ASP.NET Core application, and support request from all platforms, then what is the use of external web server?
The IIS or apache contains a lot of advanced feature. For example, advanced logging, GUI ,failed request trancing and other feature. It is very easy to configure and find the logs more easily.
The Kestrel need all settings by the codes and if you need special feature, you need to develop by yourself or changing the codes.
I have a .Net Nuget Package that works on a .NET Core Web API Service when it is proxied by my API Management Server. I would like to setup some automated testing of this service to be run when I run my builds.
Normally, when I want to run a service to be seen from other computers, I host it in IIS. But I would rather not have to have IIS up and running on my build servers.
I am wondering, is there a simple way to host a .Net Core Web API Service that can just run in-memory? (Similar to the way NodeJs can be run) I understand that Kestrel is used under the hood for ASP.NET Core. Maybe it be setup to do that?
NOTE: Because this will be proxied by my API Management Server, it need to be accessible by other servers on my network. (Not just localhost.)
Kestrel is the simplest way you can use to achieve, you can config kestrel to enable it listening to remote request, see this document
For Mono, it is explicit that ASP.NET can be hosted outside IIS on Apache or Nginx
Since the 1.0.0 release is nearby, I was looking at the publishing aspects of open source ASP.NET vNext.
Can ASP.NET vNext be hosted outside of IIS on a *nix server such as Ubuntu?
Yes, ASP.NET Core can be hosted at linux.
Have you tried this documentation, in which helps to install in Ubuntu 14.04?
AspNet Core has its own web server called Kestrel. Anytime you run an Asp.Net Core web app you run it using this server. IIS or Nginx are used as reverse proxies you can use when you want to expose your app in the wild (they can handle authentication etc.). During development you can just Kestrel directly without have to set up IIS or Nginx.
I dont know if it is working with Nginx, but Apache Server has a module called mod_asp which is a bridging component to the .NET runtime. Maybe that one is worth a try.
Is it possible to deploy ASP.NET MVC3 applications onto either a Netduino or .NetGadgeteer? If so how would I go about such a thing?
What I want to do is have a Netduino, connected to a wifi router, that will host an MVC web app.
No, it will not support it. In order to run ASP.Net, you need to have some kind of IIS running. It is quite simple to serve HTML on HTTP on .Net Micro framework, but in order to use ASP, you need either a full fledged IIS server or some kind of embedded ASP server, like the one in Visual Studio (Cassini was the code name, I think).
You basically 4 choices:
Find an embedded ASP server. There is a .net project called aspnetserve that can serve ASP pages, you may be able to port is to the Micro Framework.
Step up to Windows CE, which can host ASP .Net pages.
Serve plain HTML pages that you build on the spot.
Use a templating engine other than ASP and port it to .Net MF if needed
Both Gadgeteer and Netduino run the .Net Micro Framework which will not support an ASP.NET MVC web application.
People have implemented simple web servers inside Netduino.
Do you really need to host the MVC website on your Netduino or do you have a computer/device available to host the website and simply have your controllers communicate directly with the Netduino?
There's a great article on doing exactly this at http://www.codeproject.com/Articles/344471/Using-jQuery-Mobile-with-MVC-and-Netduino-for-Home
Most examples I see about hosting WCF in IIS have you create an Application under an existing website. I have a website in IIS, but the website uses a .NET 2.0 app pool, so I can't host the service as an application under the website. Is it better to create an empty website to just host the service or to create an empty website and then create an application under that empty website to host the service?
I have WCF running as a WebSite in both IIS6 and IIS7, and they work fine. They basically work exactly the same as any ASP.NET site; the .svc files are conceptually similar to .aspx pages, in that IIS calls over to .NET to process them, and all the core WCF stuff is in the assemblies in \bin. The web site is assigned to an App Pool where the actual processes run, just like a normal ASP.NET site. I don't think you need to make an 'Application' in IIS.
You don't need a new website - you can still host WCF in a 2.0 application pool - but in your project you'll need to set the target framework version to 3.5, instead of 4.0.