Skip to content

Fundamentals > App startup article overhaul - #37591

Open
guardrex wants to merge 20 commits into
mainfrom
guardrex/fundamentals-startup
Open

guardrex wants to merge 20 commits into
mainfrom
guardrex/fundamentals-startup

Conversation

@guardrex

@guardrex guardrex commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Fixes #37590
Fixes #37681
Addresses #34356

Notes

Wade ... Engineers are too busy to look at this one. Let's go ahead on our own and try to get it reviewed, updated, and merged. Remaining Copilot suggestions are either unclear or unimportant, such as its insistence that we keep the dreaded named anchors. This is ready for review! 🎉

Per our brief convo on the Fundamentals overview PR, we might need to discuss these in-repo samples further. I don't understand the concern about dropping them. IMO, the tutorials, such as the Blazor tutorials, are the best way to walk a dev through working code for base case learning scenarios. Then, advanced samples exist for difficult concepts that run under recent/current .NET versions with modern tooling and C# language versions that are easily accessible for inspection and download.

  • There's repo bloat here with samples that ...
    • Either don't compile and/or target out-of-support versions of .NET.
    • Only rarely maintained with the latest best practices and new framework features and/or C# language features.
    • Never adopted the promise that they would be built by the repo build system (although that can be set up).
    • Not accessible for inspection or download by readers, only providing article snippet code.
    • Are confusing with the compiler directive demo approach.
    • Are overkill for the simple points that the text is making.
    • Bloating the repo (>189 thousand lines in 164 files).
  • There's little info on what's actually happening during startup, including for the <6.0 content, so I've written out some guidance to help devs understand app startup. I'm focusing that content on >=6.0, but I can expand it back into the <6.0 part of the article if desired.
  • WRT the Startup class coverage only appearing for <6.0 in spite of current support, I think that was a management decision because the PU wants devs to focus on the minimal hosting model. We have some current version content to cross-link the article's 5.0 version if a dev is upgrading an app and looking for the coverage. I left this paradigm in place for the Startup class coverage.
  • ServerReady/startup performance is worth a mention, but I place a new, short section on it in the Logging overview (as an EventSource subsection) and cross-link to it there.
  • IMO, the startup filters section includes an overkill example that's easily demonstrated with two cut-'n-paste snippets. I revised and hopefully improved the content. I refer readers to the middleware coverage for further details on the middleware aspects.

Internal previews

File Preview link
aspnetcore/fundamentals/configuration/index.md Learn preview
aspnetcore/fundamentals/host/hosted-services.md Learn preview
aspnetcore/fundamentals/logging/index.md Learn preview
aspnetcore/fundamentals/startup.md Learn preview
aspnetcore/migration/31-to-60.md Learn preview
aspnetcore/migration/50-to-60-samples.md Learn preview
aspnetcore/migration/50-to-60.md Learn preview
aspnetcore/test/integration-tests.md Learn preview
aspnetcore/test/integration-tests/includes/integration-tests7.md Learn preview
aspnetcore/test/integration-tests/includes/integration-tests8.md Learn preview
aspnetcore/test/integration-tests/includes/integration-tests9.md Learn preview

Build report

@guardrex
guardrex force-pushed the guardrex/fundamentals-startup branch from 2a0ed77 to f8c5978 Compare September 8, 2026 11:44

This comment was marked as resolved.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@guardrex
guardrex requested a review from ilonatommy September 9, 2026 15:26
@guardrex
guardrex marked this pull request as ready for review September 9, 2026 19:18
@guardrex
guardrex requested review from wadepickett and a lite review from Copilot and removed request for ilonatommy September 17, 2026 17:26

This comment was marked as resolved.

guardrex and others added 2 commits September 17, 2026 14:06
Added a custom response header filter and updated service registration.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@guardrex
guardrex requested a lite review from Copilot September 17, 2026 18:10
@guardrex
guardrex marked this pull request as draft September 17, 2026 18:12

This comment was marked as resolved.

This comment was marked as resolved.

Clarified the description of the `ServerReady` event to include its role in measuring startup time.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

This comment was marked as resolved.

@guardrex
guardrex marked this pull request as ready for review September 18, 2026 13:35
Comment thread aspnetcore/fundamentals/startup.md
Comment thread aspnetcore/fundamentals/startup.md Outdated

@wadepickett wadepickett left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@guardrex: Approved, but note my inline suggestion.

@guardrex

Copy link
Copy Markdown
Collaborator Author

@wadepickett ... Got it ... I added the versioning for the Startup class content that should only appear for >=6.0. It's the last commit ...

2a0a7cd

@guardrex guardrex closed this Sep 18, 2026
@guardrex guardrex reopened this Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing .NET 8 or later coverage for ServicesStartConcurrently and ServicesStopConcurrently App startup Blazor/Minimal API updates

3 participants