-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Description
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