void appServer_SessionClosed(WebSocketSession session, CloseReason value) { TheBaseAssets.MySYSLOG.WriteToLog(4343, TSM.L(eDEBUG_LEVELS.ESSENTIALS) ? null : new TSM("TheSWSServer", string.Format("Session-Closed: {0} ID:{1}", session.RemoteEndPoint.ToString(), session.SessionID))); TheWSProcessor tPross = null; if (mSessionList.TryRemove(session.SessionID, out tPross)) { if (tPross!=null) tPross.Shutdown(true); } }
protected override void OnOpen() { TheBaseAssets.MySYSLOG.WriteToLog(43710, TSM.L(eDEBUG_LEVELS.ESSENTIALS) ? null : new TSM("TheCSWSServer", string.Format("New Session: {0} URI:{1}", Context.ServerEndPoint,Context.RequestUri))); try { mProcessor = new TheWSProcessor(this); TheRequestData tRequestData = new TheRequestData { RequestUri = Context.RequestUri, HttpMethod = "GET", Header = new cdeConcurrentDictionary<string, string>() }; foreach (string tKey in Context.Headers.AllKeys) { switch (tKey.ToLower()) { case "user-agent": //tRequestData.UserAgent = pContext.Request.UserAgent; tRequestData.UserAgent = Context.Headers[tKey]; break; case "content-type": //tRequestData.ResponseMimeType = pContext.Request.ContentType; tRequestData.ResponseMimeType = Context.Headers[tKey]; break; } tRequestData.Header.TryAdd(tKey, Context.Headers[tKey]); } tRequestData.ServerTags = null; mProcessor.SetRequest(tRequestData); if (tRequestData?.StatusCode!=200) mProcessor?.Shutdown(true, $"{tRequestData?.StatusCode}:OnOpen resulted in not-ok StatusCode {tRequestData?.StatusCode} - Closing Connection"); } catch (Exception e) { TheBaseAssets.MySYSLOG.WriteToLog(43711, TSM.L(eDEBUG_LEVELS.ESSENTIALS) ? null : new TSM("TheSWSServer", "Error during new Session-Connect", eMsgLevel.l1_Error, e.ToString())); } }
protected override void OnError(ErrorEventArgs e) { TheBaseAssets.MySYSLOG.WriteToLog(43712, TSM.L(eDEBUG_LEVELS.ESSENTIALS) ? null : new TSM("TheSWSServer", "Session-Closed")); mProcessor?.Shutdown(true,$"1656:CWS Fired an error: {e?.Message}"); }