Internet Information Services ( IIS )

Sujani Thuthilochana
3 min readFeb 18, 2022

If you have hosted a website, there’s a chance that you have used Apache or Internet Information Services (IIS). These two are the most often used web server platforms, depending on the data source.

So in this article, let's discuss the IIS.

There are a few obvious circumstances when IIS might be preferable:

  • It is required by your application vendor.
  • You’re limited to Windows Server and don’t require any Apache-specific functionality.
  • You’ll need an ASP or ASP.NET application to run.

Focus on 3rd point! It simply says :

IIS is the most widely used web server for ASP.NET applications in production situations; it’s very probable that your web host provider is using it to serve your ASP.NET application. If your application uses a Microsoft-based infrastructure (e.g., Active Directory, Windows file sharing, SQL Server, Exchange Server), IIS will make your life much easier.

What actually IIS is?

IIS is a Microsoft flexible, general-purpose web server that runs on Windows O/S and serves HTML pages and files. An IIS web server receives requests from remote client PCs and responds accordingly. With IIS, you can make your computer work as a Web server and provide the functionality to develop and deploy ASP.NET Web applications on the server.

ASP.NET Development Web Server and IIS

You may now have a question, that how the IIS is different from ASP.NET Development Web Server. Let me explain it simply.

You know, when we are evolving in a project, there are two major environments called development environment which is your local computer and production environment which is the live product that your customers, visitors may interact with. The ASP.NET Development Server is for the development environment as it is integrated into Visual Studio as well and IIS is the most commonly used web server for ASP.NET applications in production environments. But it can be even used in development environments too.

⚠️ As these two, handle incoming requests in two different ways, some scenarios can be occurred like where code that runs flawlessly in the development environment throws an exception or behaves differently when executed in production enviorment.

ASP.NET and IIS

It allows new applications to take advantage of ASP.NET features in the following ways:

  • All websites need to be hosted on a server from where people access them. Like Java folks applications are usually hosted using Apache Tomcat, ASP.NET applications are hosted using IIS. So, to permanently host an ASP.NET application(host the website and browse it even when Visual Studio is closed), IIS is used.
  • ASP.NET services can be used for all content types. In the past, ASP.NET functionality such as Forms authentication, roles, URL authorization, and output caching was only available to ASP.NET content types like ASPX pages. Static files, ASP pages, and other content types could not benefit from these services. But now, In IIS, all ASP.NET services are provided uniformly to all content.
  • IIS has its own ASP.NET process engine to handle the ASP.NET requests. [When we run our ASP.NET web application from Visual Studio IDE, it integrates the ASP.NET Engine which is a part of IIS Express built into VS and responsible for executing all kinds of ASP.NET requests and responses].

--

--