-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Provide more immediate feedback when an ASP.NET Core app is running #12227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
/cc @DamianEdwards |
Moving to runtime as this part is managed by Extensions.Hosting. |
I couldn't figure out the best area label to add to this issue. Please help me learn by adding exactly one area label. |
3-30 seconds sounds like an SDK cold machine build performance issue. |
@leahtmsft - Can you try doing:
And see how long it takes for |
@eerhardt it takes about 2-3 seconds for Rather than focusing on the performance aspect, what @danroth27 and I discovered through user testing is that if first-time .NET users don't see any indication that the command is working, they are unable to understand what is happening if they attempt to view the running Blazor app and are faced with a "This site can't be reached" page. The more immediate feedback that I was referring to meant something like adding text after the command is inputted and before the output to indicate that the command is being processed. |
This isn't something that can be addressed by Extensions.Hosting (nor any managed code inside the application). The issue is that the C# code isn't being executed for 2-3 seconds after hitting Another idea would be to put an Closing as there is nothing actionable Extensions.Hosting can do here. The main issue is #8697. |
Moving this issue to the dotnet/sdk repo per our discussion with @KathleenDollard. In addition to looking at the perf for |
A Twitter conversation indicated that people feel strongly on all sides of this question Proposal: Add verbosity to launchSettings.json and display the corresponding verbosity. Add dotnet run profile to launchSettings.json
Valid options are the standard MSBuild options: quiet, minimal, normal, detailed and diagnostic. Abbreviations will not be supported. It is not an error if the entry is not present. In that case, "quiet" will be inferred for backwards compatibility. It is not an error if the entry is not present. In that case, "quiet" will be inferred. Outputting infoverbosity: quiet, no entry, or misspelled entryNothing will be output. This is the same behavior as today verbosity: minimalThe single world "Building..."
verbosity: normal, detailed or diagnosticOutput with timing:
If the output with timing means we lose the feature, just do the minimal output. |
@KathleenDollard @marcpopMSFT I dig the code a bit and realize the majority of the work will be changes in the launchSettings model to add in this property. It should be more on @vijayrkn 's team. Vijay is it possible for your team to get it in net5.0? |
@wli3 - This is not in our current list of deliverables for .NET 5.0/Fe timeframe. I can get a work-item added to our list but I don't think we will be able to pick it up any time soon because of the other deliverables. Adding @timheuer to help with the prioritization for this against our other deliverables. |
@vijayrkn This came up with a usability issue that @danroth27 and @DamianEdwards illustrated in relation to Blazor which has a serious impact on new users. Adding them for context with prioritization. |
#12581 has this work and it looks like it's based on dotnetRunMessages being true in the launch settings which is slightly different than the original proposal. @KathleenDollard |
Is there any documentation around what the new I'm trying to understand whether I need to enable it when I configure other launch settings in |
There is an explanation for |
(this should lead to a better experience with messages in the web app console window - see dotnet/sdk#12227)
When you create a new ASP.NET Core app in the command line and run it with
dotnet run
, it can take a few seconds before any feedback is provided to the user (sometimes much longer if it's the first run). In user studies, we saw first-time .NET users get confused about whether the app is running when there initially isn't any output. Consider providing more immediate feedback that the app is building and running. Also, consider improving the app startup performance.Repro steps:
dotnet new webapp -o WebApp1
cd WebApp1
dotnet run
Expected:
Near immediate feedback that the app is building and running
Actual:
It takes anywhere between 3-30 seconds before any output is displayed.
The text was updated successfully, but these errors were encountered: