# Microsoft.AspNetCore.StaticFiles

**Kind:** Service

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

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

NuGet package dependency

`Microsoft.AspNetCore.StaticFiles` is a NuGet package dependency in `Pams.Web.csproj` that enables ASP.NET Core to serve static assets such as JavaScript, CSS, images, and files from the web root. The web application configures static-file middleware so matching requests are handled before application routes.

## Diagram

```mermaid
sequenceDiagram
    participant Browser
    participant WebApp as ASP.NET Core Web App
    participant StaticFiles as Static File Middleware
    participant WebRoot as Web Root

    Browser->>WebApp: Request static asset
    WebApp->>StaticFiles: Pass request through middleware
    StaticFiles->>WebRoot: Resolve requested file
    WebRoot-->>StaticFiles: Return file content
    StaticFiles-->>Browser: Return static file response
```

## Usage

```javascript
async function loadApplicationStyles() {
  const response = await fetch("/css/site.css");

  if (!response.ok) {
    throw new Error("Static asset could not be loaded.");
  }

  const css = await response.text();
  console.log(css);
}

loadApplicationStyles();
```

## AI Coding Instructions

- Keep `Microsoft.AspNetCore.StaticFiles` referenced in `Pams.Web.csproj` when the application serves files from the web root.
- Configure static-file middleware before endpoint routing that could otherwise handle the same request path.
- Place browser-facing assets under the configured web root so static-file middleware can resolve them.
- Do not expose application configuration files, secrets, or server-side source files through static-file mappings.

## Used by

1 reference from 1 file. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Injected or called by (1)

- `Pams.Web` — `Pams/Web/Pams.Web/Pams.Web.csproj`:1
