For my WebApp,

I have 4 additional programs set up to run as a service (Service.msc). They continually monitor a specific database and when a new record pops up, they act on it. The process runs outside of the webapp.

For example, one of the services is responsible for printing reports, so when a user requests a report:
-the WebApp creates the request details in a database.
-the Report Service notices the new requests and generates the report

The service then notifies the user that the report is ready.