Skip to content

The remote party closed the WebSocket connection without completing the close handshake. : Cannot access a disposed object. Object name: 'FrameResponseStream' #2460

@aspnet-hello

Description

@aspnet-hello

From @akash073 on Thursday, November 23, 2017 9:19:46 PM

I am getting following exception in Microsoft.AspNetCore.WebSockets Version 1.0.2 .
in
if (socket.State == WebSocketState.Open) await socket.SendAsync(buffer: new ArraySegment(array: Encoding.ASCII.GetBytes(message), offset: 0, count: message.Length), messageType: WebSocketMessageType.Text, endOfMessage: true, cancellationToken: CancellationToken.None);

.Message = The remote party closed the WebSocket connection without completing the close handshake. inner exception = System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'FrameResponseStream'.
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameResponseStream.ValidateState(CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameResponseStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Http.FrameDuplexStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
at System.Net.WebSockets.ManagedWebSocket.SendFrameLockAcquiredNonCancelableAsync(MessageOpcode opcode, Boolean endOfMessage, ArraySegment`1 payloadBuffer) stacktrace = at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Net.WebSockets.ManagedWebSocket.d__67.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Net.WebSockets.ManagedWebSocket.d__66.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at WebsocketCoreApplicatonWithChatRoom.WebSocketConnectionManager.d__5.MoveNext() in F:\My Private Repository\SmartShipWorks\WebsocketCoreApplicatonWithChatRoom\WebsocketCoreApplicatonWithChatRoom\Program.cs:line 75

I happens when connection is established but not used for 10-15 minutes . Working fine for simple bidirectional sending but happens infrequently .What is the problem ?

Copied from original issue: aspnet/WebSockets#212

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractionsfeature-websocketsIncludes: WebSockets

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions