dotnet / dotnet/aspnetcore

Hot Restart for ASP.NET Core during inner-loop

Open
#27,270 5 comments 28 reactions 0 assignees View on GitHub
affected-most area-networking enhancement Epic feature-hot-reload feature-platform Priority:1 severity-major Theme: inner-loop
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 6h
Merged PRs (30d)
290

Description

Keep process alive between application "restarts" in the inner-loop.

Some considerations:
- Keeping client connections alive/queued while app restarts so browser doesn't show an error
- Implementing at the native host level (Kestrel/IIS Express)
- Implementing at the managed host level (startup hooks, `AssemblyLoadContext`)
- Implementing at the `Host` API level (generic host)
- Avoiding reprocessing of server bindings between restarts
- Avoiding reconstruction of the IoC container between restarts
- Avoiding rebuilding the route table between restarts
- Which component is letting us know the app needs to be restarted? (`dotnet watch`, IDE, etc.)
- How do we get the new assemblies for the app that needs to be restarted? Read from disk in usual location assuming a standard build (or some other compilation) has taken place? Receive assemblies as bytes via IPC?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.