public override void OnOpen() { var mc = Regex.Matches(this.WebSocketContext.RequestUri.OriginalString, @"/monitor/([\-A-Z0-9]+)"); if (mc.Count > 0) { sessionId = mc[0].Groups[1].Success ? mc[0].Groups[1].Value.ToString() : ""; if (!string.IsNullOrWhiteSpace(sessionId)) { room = PlayRoomsManager.Get(sessionId); } } if (room == null) { base.Close(); return; } room.AddObserver(this); }