Skip to content
Mike Christensen edited this page Aug 28, 2026 · 2 revisions

Imp developer guide

Imp (“In Memory Pages”) is a lightweight ASP.NET Core page framework. It maps request paths to .NET classes, creates page objects through dependency injection, binds query-string values to page properties, and renders either direct responses or XML-based templates embedded in the application assembly.

Embedded templates are compiled once and cached in memory. Imp is useful when you want class-based routing and a deliberately small rendering model without adopting MVC, Razor Pages, or a client-side framework.

Start here

  1. Getting started — install Imp and render a page.
  2. Architecture and request lifecycle — understand where Imp belongs in ASP.NET Core.
  3. Routing and page classes — map URLs and query strings to C#.
  4. Embedded templates and layouts — keep markup in cached assembly resources.
  5. Run the Todo sample for a complete application.

Build with Imp

Goal Guide
Write HTML directly from a class Pages and direct rendering
Compose layouts and page templates Embedded templates and layouts
Insert runtime values and repeat items Dynamic content, constants, and loops
Process forms safely Forms, postbacks, and antiforgery
Inject application services Dependency injection and lifetimes
Protect selected pages Authentication and secure pages
Route database-backed permalinks Routing and page classes
Rewrite static asset URLs Static assets and CDN paths
Diagnose rendering failures Troubleshooting

Packages and source

Reference

Clone this wiki locally