Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

As an ASP.NET Web Developer using Visual Studio, should I have IIS installed?

We do ASP.NET Development using Visual Studio.

A discussion point we've just had is whether or not our developers should have IIS installed.

With the ASP.NET Development Server you can run your web apps without IIS. Once you're happy with everything you can then deploy it to a test server running IIS and then onto Live.

In my opinion, all developers should also have IIS installed on their own machines as that will eventually be the end platform for the application.

The arguments are basically if the developer should have as close to "live" an environment as possible, or if the developer should only have the tools they require and not be cluttered with other things.

None of this is missions critical and I'm sure everyone will have a differing opinion. I'm just interested to hear some of them!

Robin

like image 259
Robin Day Avatar asked Jan 19 '09 10:01

Robin Day


People also ask

Can ASP.NET run without IIS?

Is it possible to self-host an ASP.NET Core Application without IIS? Yes. In fact, all ASP.NET Core applications are self-hosted. Even in production, IIS/Nginx/Apache are a reverse proxy for the self-hosted application.

Does IIS come with Visual Studio?

IIS Express is not included with VS 10 SP1 and will need to be installed separately. You can also manually launch IIS Express from the command line and use it with Visual Studio 2008, using the custom web server option.

Does .NET use IIS?

Most commonly, IIS is used to host ASP.NET web applications and static websites. It can also be used as an FTP server, host WCF services, and be extended to host web applications built on other platforms such as PHP.

Which web server is used to run ASP.NET programs?

ASP.NET Core ships with Kestrel server, which is the default, cross-platform HTTP server. ASP.NET Core ships with Kestrel server, which is the default, cross-platform HTTP server.


3 Answers

I'm going to say unequivocally yes. IIS and Cassini are not the same and not exposing your code to production conditions can cause you problems. Better to get yourself in the habit as early as possible.

(obviously you can replace "IIS" with "Apache" or whatever your webserver tech is)

like image 104
annakata Avatar answered Oct 17 '22 01:10

annakata


I would say that you don't need to have IIS installed, but that you should test on IIS at some point.

The Development Web Server has two "issues":

  • it only works for local requests
  • ALL requests are passed through ASP.net

Especially the second point can really open ways to shoot you in the foot. "Why can people access SuperSecretPicture.jpg? I have a Handler in my Web.config that blocks that!".

But if you know about those limitations, then I find that the Development Web Server is better to start with since you can first focus on your code and then about your environment, but YMMV.

like image 41
Michael Stum Avatar answered Oct 17 '22 00:10

Michael Stum


The bottom line is if your application is served by IIS, you should be testing on IIS. If that means IIS on your local machine or a dev server is up to you.

like image 1
Johnno Nolan Avatar answered Oct 16 '22 23:10

Johnno Nolan