dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.44k stars 10.02k forks source link

Odd Kestrel System.IO.IOException in a blank empty ASP.NET Core project #26771

Open JoeMarkov opened 4 years ago

JoeMarkov commented 4 years ago

If I create a new fresh ASP.NET core project with the empty template on a fresh Windows 10 as well on my main Windows 10 developer machine.

Don't know if this is related to my issue #26422

I get an exception as shown below in my logs and I have spent hours trying to figure out why I get it, as I thought I did something wrong in my applications. But when I create a new fresh Windows 10 installation in Azure and fresh Visual Studio to verify that it was not my computer, then I gave up and reported this error.

The log below is from a fresh unmodified ASP.NET Core empty project running with Kestrel, the only thing I do is to set the log level to:

{
  "Logging": {
    "LogLevel": {
      "Default": "Trace"
    }
  },
  "AllowedHosts": "*"
}

If this is by design I wish you could augment the log with the domain or what part of the codes throws this exception, so its clear why I get it or what the problem is and the domain that is involved.

I suspect it tries to contact some domain with unsupported TLS/SSL level.

When I set

setx DOTNET_CLI_TELEMETRY_OPTOUT 1

Then I don't see any difference.

The log (Running as kestrel) says:

dbug: Microsoft.Extensions.Hosting.Internal.Host[1]
      Hosting starting
dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[2]
      Failed to locate the development https certificate at '(null)'.
dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[0]
      Using development certificate: CN=localhost (Thumbprint: 1B0E1FCAE1F8ECA88CE0EE1656782BE95AFF1C7A)
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000
dbug: Microsoft.AspNetCore.Hosting.Diagnostics[0]
      Loaded hosting startup assembly WebApplication1
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\Users\Edument\source\repos\WebApplication1\WebApplication1
dbug: Microsoft.Extensions.Hosting.Internal.Host[2]
      Hosting started
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HM3D0LVS0OH8" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HM3D0LVS0OH9" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HM3D0LVS0OH8" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HM3D0LVS0OH8" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6]
      Connection id "0HM3D0LVS0OH9" received FIN.
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HM3D0LVS0OH9" started.
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: Authentication failed because the remote party has closed the transport stream.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: Authentication failed because the remote party has closed the transport stream.
   at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context)
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HM3D0LVS0OH8" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[2]
      Connection id "0HM3D0LVS0OH9" stopped.
dbug: Microsoft.AspNetCore.Server.Kestrel[39]
      Connection id "0HM3D0LVS0OHA" accepted.
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HM3D0LVS0OH9" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7]
      Connection id "0HM3D0LVS0OH8" sending FIN because: "The Socket transport's send loop completed gracefully."
dbug: Microsoft.AspNetCore.Server.Kestrel[1]
      Connection id "0HM3D0LVS0OHA" started.
trce: Microsoft.AspNetCore.Server.Kestrel[37]
      Connection id "0HM3D0LVS0OHA" sending SETTINGS frame for stream ID 0 with length 18 and flags NONE
trce: Microsoft.AspNetCore.Server.Kestrel[37]
      Connection id "0HM3D0LVS0OHA" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0
trce: Microsoft.AspNetCore.Server.Kestrel[37]
      Connection id "0HM3D0LVS0OHA" received SETTINGS frame for stream ID 0 with length 12 and flags NONE
trce: Microsoft.AspNetCore.Server.Kestrel[37]
      Connection id "0HM3D0LVS0OHA" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK
trce: Microsoft.AspNetCore.Server.Kestrel[37]
      Connection id "0HM3D0LVS0OHA" received WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0
trce: Microsoft.AspNetCore.Server.Kestrel[37]
      Connection id "0HM3D0LVS0OHA" received HEADERS frame for stream ID 1 with length 215 and flags END_STREAM, END_HEADERS
trce: Microsoft.AspNetCore.Server.Kestrel[37]
      Connection id "0HM3D0LVS0OHA" received SETTINGS frame for stream ID 0 with length 0 and flags ACK
info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/2 GET https://localhost:5001/
dbug: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0]
      Wildcard detected, all requests with hosts will be allowed.
trce: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[2]
      All hosts are allowed.
dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001]
      1 candidate(s) found for the request path '/'
dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1]
      Request matched endpoint '/ HTTP: GET'
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint '/ HTTP: GET'
trce: Microsoft.AspNetCore.Server.Kestrel[37]
      Connection id "0HM3D0LVS0OHA" sending HEADERS frame for stream ID 1 with length 53 and flags END_HEADERS
trce: Microsoft.AspNetCore.Server.Kestrel[37]
      Connection id "0HM3D0LVS0OHA" sending DATA frame for stream ID 1 with length 12 and flags NONE
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint '/ HTTP: GET'
trce: Microsoft.AspNetCore.Server.Kestrel[37]
      Connection id "0HM3D0LVS0OHA" sending DATA frame for stream ID 1 with length 0 and flags END_STREAM
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished in 203.4215ms 200

Software used (Visual Studio 16.7.4) and .NET Core 3.1.402

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.19041
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.1.402\

Host (useful for support):
  Version: 3.1.8
  Commit:  9c1330dedd

.NET Core SDKs installed:
  3.1.402 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.22 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.22 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.22 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download
Tratcher commented 4 years ago

Those logs say the client is opening two connections, starting TLS handshakes, and aborting them. What client are you using? You'd need logs from the client to see why it was aborting the connections.

JoeMarkov commented 4 years ago

I agree the application creates a requests and aborting them. But

the ASP.NET Core application is a blank empty ASP.NET Core web application with no custom code in it. So it must be a framework/Kestrel or Visual Studio that triggers there requests. Not my application.

The visual studio is a plain with no extra plugins.

As I said, I got the same result on a plain new fresh Windows 10 VM in Azure with a fresh Visual Studio 2019. I just start the application form within my application in Debug and I get that exception every time.

This is my Startup class (not modified)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace KestrelException
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseRouting();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapGet("/", async context =>
                {
                    await context.Response.WriteAsync("Hello World!");
                });
            });
        }
    }
}

This is my Program class


using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;

namespace KestrelException
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
}
Tratcher commented 4 years ago

I just start the application form within my application in Debug and I get that exception every time.

Do you see these if you start without the debugger (CTL+F5)? VS does open a socket to the app to make sure it has started so it knows it can launch the browser.

JoeMarkov commented 4 years ago

So,

I just created a new Visual Studio 2019 Azure VM just to make sure I have a clean environment using the following image:

image

To reproduce:

  1. Update Visual Studio to latest 16.7.5
  2. Started Visual Studio
  3. Created ASP.NET Core Web core project
  4. Empty template
  5. Set all log levels in the appsettings + appsettings.json trace
  6. Start with Ketrel (not IIS express)
  7. Trust the certificates
  8. Run the application

So, when, I run I get a classic Microsoft Edge browser that starts with “Hello World!”?

So, who is making these requests I don’t know, I guess Visual Studio? But regardless I think its odd to see these exceptions And to help all other developers who spends countless hours trying to figure out why they see exceptions, I think it would be Good if it was fixed or if there was a log statement explain what was wrong or if you could se some hints in the log on who Is making the request? If the log would have included like “Visual Studio connection failed” or so, then it would make more sense.

I also tried to install chrome and run with chrome in visual studio as the default startup browser, with the same result.

And I get this log:

dbug: Microsoft.Extensions.Hosting.Internal.Host[1] Hosting starting dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[2] Failed to locate the development https certificate at '(null)'. dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[0] Using development certificate: CN=localhost (Thumbprint: A69883359F3C88C0E8B59067661802D600565CF9) info: Microsoft.Hosting.Lifetime[0] Now listening on: https://localhost:5001 info: Microsoft.Hosting.Lifetime[0] Now listening on: http://localhost:5000 dbug: Microsoft.AspNetCore.Hosting.Diagnostics[0] Loaded hosting startup assembly WebApplication3 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: C:\Users\edument\source\repos\WebApplication3\WebApplication3 dbug: Microsoft.Extensions.Hosting.Internal.Host[2] Hosting started dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3EG38U08RN" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3EG38U08RO" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3EG38U08RO" started. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3EG38U08RN" started. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6] Connection id "0HM3EG38U08RO" received FIN. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6] Connection id "0HM3EG38U08RN" received FIN. dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1] Failed to authenticate HTTPS connection. System.IO.IOException: Authentication failed because the remote party has closed the transport stream. at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken) at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState) at System.Net.Security.SslStream.<>c.b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state) at System.Threading.Tasks.TaskFactory1.FromAsyncImpl[TArg1,TArg2](Func5 beginMethod, Func2 endFunction, Action1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state) at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context) dbug: Microsoft.AspNetCore.Server.Kestrel[2] Connection id "0HM3EG38U08RO" stopped. dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3EG38U08RP" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1] Failed to authenticate HTTPS connection. System.IO.IOException: Authentication failed because the remote party has closed the transport stream. at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken) at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState) at System.Net.Security.SslStream.<>c.b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state) at System.Threading.Tasks.TaskFactory1.FromAsyncImpl[TArg1,TArg2](Func5 beginMethod, Func2 endFunction, Action1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state) at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context) dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7] Connection id "0HM3EG38U08RO" sending FIN because: "The Socket transport's send loop completed gracefully." dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3EG38U08RQ" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3EG38U08RP" started. dbug: Microsoft.AspNetCore.Server.Kestrel[2] Connection id "0HM3EG38U08RN" stopped. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3EG38U08RQ" started. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7] Connection id "0HM3EG38U08RN" sending FIN because: "The Socket transport's send loop completed gracefully." trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RP" sending SETTINGS frame for stream ID 0 with length 18 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RQ" sending SETTINGS frame for stream ID 0 with length 18 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RP" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RQ" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RP" received SETTINGS frame for stream ID 0 with length 12 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RP" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RQ" received SETTINGS frame for stream ID 0 with length 12 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RP" received WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RQ" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RQ" received WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RQ" received HEADERS frame for stream ID 1 with length 215 and flags END_STREAM, END_HEADERS trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RP" received SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RQ" received SETTINGS frame for stream ID 0 with length 0 and flags ACK info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/2 GET https://localhost:5001/ dbug: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0] Wildcard detected, all requests with hosts will be allowed. trce: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[2] All hosts are allowed. dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001] 1 candidate(s) found for the request path '/' dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1] Request matched endpoint '/ HTTP: GET' info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] Executing endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RQ" sending HEADERS frame for stream ID 1 with length 53 and flags END_HEADERS trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RQ" sending DATA frame for stream ID 1 with length 12 and flags NONE info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1] Executed endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG38U08RQ" sending DATA frame for stream ID 1 with length 0 and flags END_STREAM info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished in 110.0383ms 200

If I start with CTRL+F5 then I get the same result

dbug: Microsoft.Extensions.Hosting.Internal.Host[1] Hosting starting dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[2] Failed to locate the development https certificate at '(null)'. dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[0] Using development certificate: CN=localhost (Thumbprint: A69883359F3C88C0E8B59067661802D600565CF9) info: Microsoft.Hosting.Lifetime[0] Now listening on: https://localhost:5001 info: Microsoft.Hosting.Lifetime[0] Now listening on: http://localhost:5000 dbug: Microsoft.AspNetCore.Hosting.Diagnostics[0] Loaded hosting startup assembly WebApplication3 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: C:\Users\edument\source\repos\WebApplication3\WebApplication3 dbug: Microsoft.Extensions.Hosting.Internal.Host[2] Hosting started dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3EG3JCDBSP" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3EG3JCDBSQ" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3EG3JCDBSQ" started. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3EG3JCDBSP" started. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6] Connection id "0HM3EG3JCDBSP" received FIN. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6] Connection id "0HM3EG3JCDBSQ" received FIN. dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1] Failed to authenticate HTTPS connection. System.IO.IOException: Authentication failed because the remote party has closed the transport stream. at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.PartialFrameCallback(AsyncProtocolRequest asyncRequest) --- End of stack trace from previous location where exception was thrown --- at System.Net.Security.SslStream.ThrowIfExceptional() at System.Net.Security.SslStream.InternalEndProcessAuthentication(LazyAsyncResult lazyResult) at System.Net.Security.SslStream.EndProcessAuthentication(IAsyncResult result) at System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult) at System.Net.Security.SslStream.<>c.b__69_1(IAsyncResult iar) at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization) --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context) dbug: Microsoft.AspNetCore.Server.Kestrel[2] Connection id "0HM3EG3JCDBSP" stopped. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7] Connection id "0HM3EG3JCDBSP" sending FIN because: "The Socket transport's send loop completed gracefully." dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1] Failed to authenticate HTTPS connection. System.IO.IOException: Authentication failed because the remote party has closed the transport stream. at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.PartialFrameCallback(AsyncProtocolRequest asyncRequest) --- End of stack trace from previous location where exception was thrown --- at System.Net.Security.SslStream.ThrowIfExceptional() at System.Net.Security.SslStream.InternalEndProcessAuthentication(LazyAsyncResult lazyResult) at System.Net.Security.SslStream.EndProcessAuthentication(IAsyncResult result) at System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult) at System.Net.Security.SslStream.<>c.b__69_1(IAsyncResult iar) at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization) --- End of stack trace from previous location where exception was thrown --- at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context) dbug: Microsoft.AspNetCore.Server.Kestrel[2] Connection id "0HM3EG3JCDBSQ" stopped. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7] Connection id "0HM3EG3JCDBSQ" sending FIN because: "The Socket transport's send loop completed gracefully." dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3EG3JCDBSR" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3EG3JCDBSS" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3EG3JCDBSR" started. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3EG3JCDBSS" started. trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSR" sending SETTINGS frame for stream ID 0 with length 18 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSS" sending SETTINGS frame for stream ID 0 with length 18 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSS" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSR" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSS" received SETTINGS frame for stream ID 0 with length 12 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSR" received SETTINGS frame for stream ID 0 with length 12 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSS" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSR" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSR" received WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSS" received WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSR" received HEADERS frame for stream ID 1 with length 215 and flags END_STREAM, END_HEADERS trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSS" received SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSR" received SETTINGS frame for stream ID 0 with length 0 and flags ACK info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/2 GET https://localhost:5001/ dbug: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0] Wildcard detected, all requests with hosts will be allowed. trce: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[2] All hosts are allowed. dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001] 1 candidate(s) found for the request path '/' dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1] Request matched endpoint '/ HTTP: GET' info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] Executing endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSR" sending HEADERS frame for stream ID 1 with length 53 and flags END_HEADERS trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSR" sending DATA frame for stream ID 1 with length 12 and flags NONE info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1] Executed endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3EG3JCDBSR" sending DATA frame for stream ID 1 with length 0 and flags END_STREAM info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished in 45.1329ms 200

BrennanConroy commented 4 years ago

Could you try looking at chrome://net-internals/#sockets and Close idle sockets before debugging to see if the browser is the one causing these socket open/closes?

JoeMarkov commented 4 years ago

ok, created a fresh Azure Visual Studio 2019 VM

As the machine is a fresh new machine, with little previous search history, I doubt this is the issue with sockets. Also see the same problem with Edge.

Got the same result on my local development box too.

The log is included below for Google chrome

dbug: Microsoft.Extensions.Hosting.Internal.Host[1] Hosting starting dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[2] Failed to locate the development https certificate at '(null)'. dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[0] Using development certificate: CN=localhost (Thumbprint: 5119DB0B4A32D09A051E2BC482110D8EF3063850) info: Microsoft.Hosting.Lifetime[0] Now listening on: https://localhost:5001 info: Microsoft.Hosting.Lifetime[0] Now listening on: http://localhost:5000 dbug: Microsoft.AspNetCore.Hosting.Diagnostics[0] Loaded hosting startup assembly WebApplication2 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: C:\Users\Test\source\repos\WebApplication2\WebApplication2 dbug: Microsoft.Extensions.Hosting.Internal.Host[2] Hosting started dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3FFLFF1GHH" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6] Connection id "0HM3FFLFF1GHH" received FIN. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3FFLFF1GHH" started. dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3FFLFF1GHI" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3FFLFF1GHI" started. dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1] Failed to authenticate HTTPS connection. System.IO.IOException: Authentication failed because the remote party has closed the transport stream. at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken) at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState) at System.Net.Security.SslStream.<>c.b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state) at System.Threading.Tasks.TaskFactory1.FromAsyncImpl[TArg1,TArg2](Func5 beginMethod, Func2 endFunction, Action1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state) at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context) dbug: Microsoft.AspNetCore.Server.Kestrel[2] Connection id "0HM3FFLFF1GHH" stopped. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7] Connection id "0HM3FFLFF1GHH" sending FIN because: "The Socket transport's send loop completed gracefully." trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFLFF1GHI" sending SETTINGS frame for stream ID 0 with length 18 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFLFF1GHI" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFLFF1GHI" received SETTINGS frame for stream ID 0 with length 24 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFLFF1GHI" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFLFF1GHI" received WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFLFF1GHI" received HEADERS frame for stream ID 1 with length 421 and flags END_STREAM, END_HEADERS, PRIORITY trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFLFF1GHI" received SETTINGS frame for stream ID 0 with length 0 and flags ACK info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/2 GET https://localhost:5001/ dbug: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0] Wildcard detected, all requests with hosts will be allowed. trce: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[2] All hosts are allowed. dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001] 1 candidate(s) found for the request path '/' dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1] Request matched endpoint '/ HTTP: GET' info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] Executing endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFLFF1GHI" sending HEADERS frame for stream ID 1 with length 53 and flags END_HEADERS trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFLFF1GHI" sending DATA frame for stream ID 1 with length 12 and flags NONE info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1] Executed endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFLFF1GHI" sending DATA frame for stream ID 1 with length 0 and flags END_STREAM info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished in 146.8146ms 200

The log using Windows Edge

dbug: Microsoft.Extensions.Hosting.Internal.Host[1] Hosting starting dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[2] Failed to locate the development https certificate at '(null)'. dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[0] Using development certificate: CN=localhost (Thumbprint: 5119DB0B4A32D09A051E2BC482110D8EF3063850) info: Microsoft.Hosting.Lifetime[0] Now listening on: https://localhost:5001 info: Microsoft.Hosting.Lifetime[0] Now listening on: http://localhost:5000 dbug: Microsoft.AspNetCore.Hosting.Diagnostics[0] Loaded hosting startup assembly WebApplication2 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: C:\Users\Edument\source\repos\WebApplication2\WebApplication2 dbug: Microsoft.Extensions.Hosting.Internal.Host[2] Hosting started dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3FFMEN7V0T" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3FFMEN7V0U" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3FFMEN7V0T" started. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6] Connection id "0HM3FFMEN7V0U" received FIN. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6] Connection id "0HM3FFMEN7V0T" received FIN. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3FFMEN7V0U" started. dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1] Failed to authenticate HTTPS connection. System.IO.IOException: Authentication failed because the remote party has closed the transport stream. at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken) at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState) at System.Net.Security.SslStream.<>c.b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state) at System.Threading.Tasks.TaskFactory1.FromAsyncImpl[TArg1,TArg2](Func5 beginMethod, Func2 endFunction, Action1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state) at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context) dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1] Failed to authenticate HTTPS connection. System.IO.IOException: Authentication failed because the remote party has closed the transport stream. at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken) at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState) at System.Net.Security.SslStream.<>c.b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state) at System.Threading.Tasks.TaskFactory1.FromAsyncImpl[TArg1,TArg2](Func5 beginMethod, Func2 endFunction, Action1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state) at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context) dbug: Microsoft.AspNetCore.Server.Kestrel[2] Connection id "0HM3FFMEN7V0U" stopped. dbug: Microsoft.AspNetCore.Server.Kestrel[2] Connection id "0HM3FFMEN7V0T" stopped. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7] Connection id "0HM3FFMEN7V0U" sending FIN because: "The Socket transport's send loop completed gracefully." dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7] Connection id "0HM3FFMEN7V0T" sending FIN because: "The Socket transport's send loop completed gracefully." dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3FFMEN7V0V" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3FFMEN7V0V" started. dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3FFMEN7V10" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3FFMEN7V10" started. trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V10" sending SETTINGS frame for stream ID 0 with length 18 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V0V" sending SETTINGS frame for stream ID 0 with length 18 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V10" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V0V" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V0V" received SETTINGS frame for stream ID 0 with length 12 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V10" received SETTINGS frame for stream ID 0 with length 12 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V0V" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V10" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V0V" received WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V10" received WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V0V" received HEADERS frame for stream ID 1 with length 215 and flags END_STREAM, END_HEADERS trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V10" received SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V0V" received SETTINGS frame for stream ID 0 with length 0 and flags ACK info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/2 GET https://localhost:5001/ dbug: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0] Wildcard detected, all requests with hosts will be allowed. trce: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[2] All hosts are allowed. dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001] 1 candidate(s) found for the request path '/' dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1] Request matched endpoint '/ HTTP: GET' info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] Executing endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V0V" sending HEADERS frame for stream ID 1 with length 53 and flags END_HEADERS trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V0V" sending DATA frame for stream ID 1 with length 12 and flags NONE info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1] Executed endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3FFMEN7V0V" sending DATA frame for stream ID 1 with length 0 and flags END_STREAM info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished in 117.9762ms 200

BrennanConroy commented 4 years ago

Can you dotnet run the app from the command line and launch chrome manually. We're thinking this is either coming from VS or coming from Chrome. If it's from Chrome there isn't much we can do. If it's from VS we can bring in some folks to take a look at that.

Tratcher commented 4 years ago

I asked Bill from VS and he said there should not be any connections open by them.

JoeMarkov commented 4 years ago

ok!

So, I recreated the Azure Visual Studio 2019 VM again and reproduced the steps as outlined earlier.

Without installing Chrome (Edge only, using Kestrel, with trace level, ASP.NET core empty template)

Then I get this log, as usual:

dbug: Microsoft.Extensions.Hosting.Internal.Host[1] Hosting starting dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[2] Failed to locate the development https certificate at '(null)'. dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[0] Using development certificate: CN=localhost (Thumbprint: BEDD3E6654AC1410E5B00125FE914ACF45DF96DF) info: Microsoft.Hosting.Lifetime[0] Now listening on: https://localhost:5001 info: Microsoft.Hosting.Lifetime[0] Now listening on: http://localhost:5000 dbug: Microsoft.AspNetCore.Hosting.Diagnostics[0] Loaded hosting startup assembly WebApplication2 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: C:\Users\Edument\source\repos\WebApplication2\WebApplication2 dbug: Microsoft.Extensions.Hosting.Internal.Host[2] Hosting started dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3GT1I5U2OO" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3GT1I5U2ON" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3GT1I5U2OO" started. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3GT1I5U2ON" started. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6] Connection id "0HM3GT1I5U2ON" received FIN. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[6] Connection id "0HM3GT1I5U2OO" received FIN. dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1] Failed to authenticate HTTPS connection. System.IO.IOException: Authentication failed because the remote party has closed the transport stream. at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken) at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState) at System.Net.Security.SslStream.<>c.b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state) at System.Threading.Tasks.TaskFactory1.FromAsyncImpl[TArg1,TArg2](Func5 beginMethod, Func2 endFunction, Action1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state) at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context) dbug: Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware[1] Failed to authenticate HTTPS connection. System.IO.IOException: Authentication failed because the remote party has closed the transport stream. at System.Net.Security.SslStream.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslStream.ProcessAuthentication(LazyAsyncResult lazyResult, CancellationToken cancellationToken) at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState) at System.Net.Security.SslStream.<>c.b__69_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state) at System.Threading.Tasks.TaskFactory1.FromAsyncImpl[TArg1,TArg2](Func5 beginMethod, Func2 endFunction, Action1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions) at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func5 beginMethod, Action1 endMethod, TArg1 arg1, TArg2 arg2, Object state) at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken) at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionMiddleware.InnerOnConnectionAsync(ConnectionContext context) dbug: Microsoft.AspNetCore.Server.Kestrel[2] Connection id "0HM3GT1I5U2OO" stopped. dbug: Microsoft.AspNetCore.Server.Kestrel[2] Connection id "0HM3GT1I5U2ON" stopped. dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7] Connection id "0HM3GT1I5U2OO" sending FIN because: "The Socket transport's send loop completed gracefully." dbug: Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets[7] Connection id "0HM3GT1I5U2ON" sending FIN because: "The Socket transport's send loop completed gracefully." dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3GT1I5U2OP" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3GT1I5U2OP" started. dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3GT1I5U2OQ" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3GT1I5U2OQ" started. trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OQ" sending SETTINGS frame for stream ID 0 with length 18 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OP" sending SETTINGS frame for stream ID 0 with length 18 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OQ" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OP" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OP" received SETTINGS frame for stream ID 0 with length 12 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OQ" received SETTINGS frame for stream ID 0 with length 12 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OP" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OQ" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OP" received WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OQ" received WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OP" received SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OQ" received HEADERS frame for stream ID 1 with length 215 and flags END_STREAM, END_HEADERS trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OQ" received SETTINGS frame for stream ID 0 with length 0 and flags ACK info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/2 GET https://localhost:5001/ dbug: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0] Wildcard detected, all requests with hosts will be allowed. trce: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[2] All hosts are allowed. dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001] 1 candidate(s) found for the request path '/' dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1] Request matched endpoint '/ HTTP: GET' info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] Executing endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OQ" sending HEADERS frame for stream ID 1 with length 53 and flags END_HEADERS trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OQ" sending DATA frame for stream ID 1 with length 12 and flags NONE info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1] Executed endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT1I5U2OQ" sending DATA frame for stream ID 1 with length 0 and flags END_STREAM info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished in 224.8691ms 200

When I stop the application in Visual Studio and then go to the terminal instead. Then I get this log (when I manually go to localhost using edge (https://localhost:5001/)

So clearly Chrome is not the issue here and outside Visual Studio I don't get any odd exception in the logs. So I only see those exceptions in Visual Studio.

C:\Users\Edument\source\repos\WebApplication2\WebApplication2>dotnet run dbug: Microsoft.Extensions.Hosting.Internal.Host[1] Hosting starting dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[2] Failed to locate the development https certificate at '(null)'. dbug: Microsoft.AspNetCore.Server.Kestrel.Core.KestrelServer[0] Using development certificate: CN=localhost (Thumbprint: BEDD3E6654AC1410E5B00125FE914ACF45DF96DF) info: Microsoft.Hosting.Lifetime[0] Now listening on: https://localhost:5001 info: Microsoft.Hosting.Lifetime[0] Now listening on: http://localhost:5000 dbug: Microsoft.AspNetCore.Hosting.Diagnostics[0] Loaded hosting startup assembly WebApplication2 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: C:\Users\Edument\source\repos\WebApplication2\WebApplication2 dbug: Microsoft.Extensions.Hosting.Internal.Host[2] Hosting started dbug: Microsoft.AspNetCore.Server.Kestrel[39] Connection id "0HM3GT2ELE6F9" accepted. dbug: Microsoft.AspNetCore.Server.Kestrel[1] Connection id "0HM3GT2ELE6F9" started. trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT2ELE6F9" sending SETTINGS frame for stream ID 0 with length 18 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT2ELE6F9" sending WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT2ELE6F9" received SETTINGS frame for stream ID 0 with length 12 and flags NONE trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT2ELE6F9" sending SETTINGS frame for stream ID 0 with length 0 and flags ACK trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT2ELE6F9" received WINDOW_UPDATE frame for stream ID 0 with length 4 and flags 0x0 trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT2ELE6F9" received HEADERS frame for stream ID 1 with length 215 and flags END_STREAM, END_HEADERS trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT2ELE6F9" received SETTINGS frame for stream ID 0 with length 0 and flags ACK info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Request starting HTTP/2 GET https://localhost:5001/ dbug: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[0] Wildcard detected, all requests with hosts will be allowed. trce: Microsoft.AspNetCore.HostFiltering.HostFilteringMiddleware[2] All hosts are allowed. dbug: Microsoft.AspNetCore.Routing.Matching.DfaMatcher[1001] 1 candidate(s) found for the request path '/' dbug: Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware[1] Request matched endpoint '/ HTTP: GET' info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] Executing endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT2ELE6F9" sending HEADERS frame for stream ID 1 with length 53 and flags END_HEADERS trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT2ELE6F9" sending DATA frame for stream ID 1 with length 12 and flags NONE info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1] Executed endpoint '/ HTTP: GET' trce: Microsoft.AspNetCore.Server.Kestrel[37] Connection id "0HM3GT2ELE6F9" sending DATA frame for stream ID 1 with length 0 and flags END_STREAM info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Request finished in 78.2781ms 200

JoeMarkov commented 4 years ago

I also created a video of this that I can email someone if I get an email to send it to.

ghost commented 4 years ago

Thanks for contacting us. We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. We will evaluate the request when we are planning the work for the next milestone. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

BrennanConroy commented 4 years ago

If you can upload it somewhere that would be ideal.

tndata commented 4 years ago

You can find my video here https://www.dropbox.com/s/58ekadklx5anufq/kestrel.gif?dl=0

Please download it if you want to keep it.

patryk9200 commented 4 years ago

@BrennanConroy If it would help I can give you temporrary access to server and code to look at this.

BrennanConroy commented 4 years ago

@patryk9200 your issue looks unrelated, please file a new issue if you want us to look at it.

Tratcher commented 4 years ago

@tndata thanks. I was able to reproduce this and confirm it's an intentional VS feature that's part of the Launch Browser scenario. If you uncheck the Launch Browser option in the project properties debug page it goes away.

What VS is attempting here is to delay launching the browser until it knows the server has started so you don't get browser connection errors. It does that by polling the port it told the server to start on. It doesn't need to do TLS or send HTTP requests, just successfully open a socket. The error happens because it closes the socket without completing the TLS handshake.

Proposal: If no data is received on a socket then suppress all TLS errors, or in other words, avoid starting the TLS handshake logic until the first bytes are received. If the handshake never started, don't consider that a failure. This would more closely mimic what would happen if you had completed the TLS handshake (or it wasn't a TLS connection) but the connection was closed without receiving any requests.

tndata commented 4 years ago

Thanks for the feedback and the reasoning for this!

ghost commented 4 years ago

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

ghost commented 2 years ago

Thanks for contacting us.

We're moving this issue to the .NET 8 Planning milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s). If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

zippy72 commented 1 year ago

The recent Visual Studio 2022 update to 17.5.1 seems to have introduced this issue into some of my existing projects as well.

alexhost commented 3 months ago

Can confirm that this issue either appears to still exist or have been reintroduced (VS 17.5.10). Adding the standard Blazor WebApp (Server) template running on .NET8 will result in this issue.

At minimum it's annoying to see exceptions in Output, at worst you end up going down a rabbit hole (like) I did of thinking your configuration is wrong somehow.

@Tratcher 's solution still appears correct; turning off automatic browser launching in Launch Profiles and then visiting https://localhost/5001 manually after launch does resolve the issue.