Overview

The PowerServer Web APIs can be directly hosted inside of an IIS Application pool and run in the same process as its IIS worker process (w3wp.exe); this is known as in-process hosting. It is different from the out-of-process hosting which runs the PowerServer Web APIs in a process separate from the IIS worker process and forwards the requests made to the IIS reverse proxy to the Kestrel server.


This tutorial talks about the in-process hosting. The configuration of IIS reverse proxy server for the out-of-process hosting will be discussed in Using Kestrel with IIS reverse proxy server.

To implement the in-process hosting of the PowerServer Web APIs in IIS, you will need to publish Web APIs to IIS using the following methods:

  • Web Deploy -- directly publishes Web APIs to the specified IIS website. You can deploy to the IIS website on the local or remote server.

    To deploy to an IIS website on the local server (e.g. IIS on Windows 10), you will need to set up the server in this way:

    1. Install IIS

    2. Create an IIS website

    3. Install Web Deploy 3.6 (or later) & ASP.NET Core Hosting Bundle 3.1

    To deploy to an IIS website on the remote server (e.g. IIS on Windows Server 2019), you will need to set up the server in this way:

    1. Install IIS

    2. Create an IIS website

    3. Configure IIS

    4. Install Web Deploy 3.6 (or later) & ASP.NET Core Hosting Bundle 3.1

  • File System -- publishes Web APIs to a local folder. You need to manually copy the published folders and files to the web root of the IIS website later.

    This will require you to set up the server in this way:

    1. Install lIS

    2. Create an IIS website

    3. Install ASP.NET Core Hosting Bundle 3.1