Introduction
In this article, I show how to host our ASP .NET Web API on an Internet Information Services (IIS) server. This is useful when we want to host our Web API application in localhost.
Internet Information Services (IIS)
IIS is the acronym for Internet Information Services. It is the set of feature extension modules that are created by Microsoft. IIS is an integral part of the Windows Server products. It supports the Hyper Text Transfer Protocol (HTTP), File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP) etc. IIS is not turned on automatically when Windows is installed.
Benefits of IIS Hosting
- When we host the Web API in IIS, it is deployed and managed like other IIS applications.
- When we host the application on IIS, it can provide the process activation and recycling capabilities that increase the reliability of the hosted application.
- The Web API is hosted on IIS, that simplifies the development and deployment of hosted services.
Hosting Web API on IIS Server
Step 1
First open IIS. We can start it from the Start menu; enter "inetmgr" into the search box. The image looks like this:
We can open it using the Control Panel.
- In the "Control Panel".
- Click on "Administrative Tools" -> "Internet Information Services (IIS) manager".
- The image is displayed in the following picture.
If you are not able to see the IIS manager then your system might not have IIS installed. For the installation follow this procedure:
- Open the "Control Panel".
- "Programs and Feature" -> "Turn Window features on or off".
- There is open the "Windows Feature" window in "tree view".
- There are checkboxes for installation; select the checkboxes.
Step 2
When you will open the Internet Information Services (IIS) manager, the window looks like this:
- Now, right-click on the sites.
- "Sites" -> "Add Web Site".
Open a window. It looks likes this:
In this window write the "Site name" here the site name is "Testing" and provide the Physical path.
When we click on the "Ok" button, an alert box is opened. It displays the information about the port; the default port is "80" for the IIS website and if you want to change it then click on the "NO" button.
And change the port. Here I will provide the port "8080". And now click on the "OK" button.
Now a window is opened that looks like this:
When we click on the Testing site from the Sites, then it opens as:
Step 3
Now we check the "Advanced setting" from the "right panel". And modify some settings.
Step 4
Now edit the "Basic settings" in the "Edit Application Pool" in the right panel. In it we select the ".NET Framework version" that is ".NET Framework v4.0.30319" and "Managed pipeline mode" as "Integrated".
Step 5
In this step we are ready to browse our application.
- Right-click on your website.
- Select "Manage Web Site" -> "Browse".
- The application is hosted. There is my application "Testing" Host at "8080" port that looks like this:
Step 6
My application works on Fiddler so we write the URL "http://localhost:8080/api/products". Open the fiddler and click on the Compose tab and enter the URL:
The output looks like this: