Skip to main content

ASP.NET Core

Enlace.AspNetCore, published from get-enlace/enlace-dotnet.

Install

dotnet add package Enlace.AspNetCore

Usage

// Program.cs
builder.Services.AddEnlace();
// ...
app.UseEnlace(); // mounts at /enlace by default

With a customized Swashbuckle route or a different spec source entirely:

builder.Services.AddEnlace(options =>
{
options.SpecUrl = "https://internal-host/custom/openapi.json";
options.MountPath = "/enlace"; // default
});

Spec resolution

  1. Zero-config default — if your app already runs Swashbuckle conventionally, its spec is already served at /swagger/v1/swagger.json; the adapter defaults to that path with no configuration needed.
  2. Auto-detect fallback — if that doesn't resolve, it tries a short list of other conventional paths (/openapi.json, /swagger.json) with a plain HTTP request to your app's own server — no reflection into route tables or framework internals.
  3. Explicit override — set options.SpecUrl to point at anything else: a customized route, a different service's spec, a static file.
  4. Failure is loud — if nothing resolves, startup fails with an error naming exactly what was tried and how to fix it, rather than rendering a silent empty canvas.

This package's job is intentionally small: it serves the canvas UI and resolves your OpenAPI document. Everything else — running a chain, mapping fields, credentials — happens in the browser; see Building a Chain.

Want to see it running end to end first? There's a working ASP.NET Core example app you can run locally.

Architecture

The ASP.NET Core adapter is intentionally thin: it serves the static UI assets and resolves your OpenAPI document. All workflow execution happens client-side in the browser directly to your API endpoints, with local IndexedDB autosave.