diff --git a/websocket-sharp/Net/HttpListenerResponse.cs b/websocket-sharp/Net/HttpListenerResponse.cs index 8787644d..a0752fa5 100644 --- a/websocket-sharp/Net/HttpListenerResponse.cs +++ b/websocket-sharp/Net/HttpListenerResponse.cs @@ -170,9 +170,18 @@ namespace WebSocketSharp.Net } set { - checkDisposedOrHeadersSent (); - if (value < 0) - throw new ArgumentOutOfRangeException ("Less than zero.", "value"); + if (_disposed) + throw new ObjectDisposedException (GetType ().ToString ()); + + if (_headersSent) { + var msg = "The response has already been sent."; + throw new InvalidOperationException (msg); + } + + if (value < 0) { + var msg = "Less than zero."; + throw new ArgumentOutOfRangeException (msg, "value"); + } _contentLength = value; }