# Microsoft.Owin.Host.SystemWeb

**Kind:** Service

**Source:** `Pams/Logic/Pams.Business/Pams.Business.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

NuGet package dependency

`Microsoft.Owin.Host.SystemWeb` is a NuGet package dependency in `Pams.Business.csproj` that hosts OWIN middleware within the ASP.NET System.Web request pipeline. It connects IIS and System.Web requests to the application's OWIN startup and middleware configuration.

## Diagram

```mermaid
flowchart TD
    Browser[Browser Request] --> IIS[IIS / System.Web]
    IIS --> OwinHost[Microsoft.Owin.Host.SystemWeb]
    OwinHost --> Startup[OWIN Startup Configuration]
    Startup --> Middleware[OWIN Middleware]
    Middleware --> Application[Pams Business Application]
```

## Usage

```javascript
import { readFile } from "node:fs/promises";

const projectFile = "Pams/Logic/Pams.Business/Pams.Business.csproj";
const projectContents = await readFile(projectFile, "utf8");

const packageName = "Microsoft.Owin.Host.SystemWeb";

if (!projectContents.includes(packageName)) {
  throw new Error(`${packageName} is not referenced by ${projectFile}`);
}

console.log(`${packageName} is configured for the Pams.Business project.`);
```

## AI Coding Instructions

- Keep `Microsoft.Owin.Host.SystemWeb` aligned with the OWIN package versions referenced by the legacy project.
- Check both the project file and any related NuGet package configuration when changing package references.
- Configure OWIN middleware through the application's startup class rather than adding request handling directly to the package reference.
- Preserve System.Web hosting behavior when updating OWIN dependencies, since this package bridges the OWIN pipeline into IIS.
