public ServiceResult AddSession(MudSessionModel session) { if (_Sessions.Add(session)) { SessionAdded?.Invoke(this, session); } return(new ServiceResult()); }
private void AddNewSession(AudioSessionControl asc) { M.D(21000, "AddNewSession"); var s = new Session(asc.BasePtr, ref L); s.Offline += S_Offline; s.Online += S_Online; SS.Add(s); L.SSD.Add(new SessionData(asc.BasePtr, asc.DisplayName)); L.SSN.Add(s.DisplayName); SessionAdded?.Invoke(this, new SessionEventArgs(asc.BasePtr)); M.D(21001, $"# SS:{SS.Count}, SSD:{L.SSD.Count}, SSN:{L.SSN.Count}"); }
/// <summary> /// Consolida los datos de la sesión /// </summary> private async Task UpdateSessionDataAsync(WebSession.Session session, SessionEventArgs e, bool isNew) { var webRequest = e.WebSession.Request; var webResponse = e.WebSession.Response; // Código de estado, protocolo, proceso... session.StatusCode = webResponse?.StatusCode ?? 0; session.Uri = webRequest.RequestUri; session.ProcessId = e.WebSession.ProcessId.Value; // Tamaño del cuerpo session.BodySize = -1; if (!session.IsTunnelConnect && webResponse != null) { if (webResponse.ContentLength != -1) { session.BodySize = webResponse.ContentLength; } else if (webResponse.IsBodyRead && webResponse.Body != null) { session.BodySize = webResponse.Body.Length; } } // Obtiene los detalles de la solicitud y la respuesta session.Request = ReadRequestData(webRequest); session.Response = ReadResponseData(webResponse); // Trata la sesión nueva o modificada await Dispatcher.InvokeAsync(() => { if (isNew) { // Añade la sesión al diccionario _sessions.Add(e.WebSession, session); // Lanza el evento SessionAdded?.Invoke(this, new NewSessionEventArgs(session)); } else { // Lanza el evento SessionUpdated?.Invoke(this, new UpdateSessionEventArgs(session)); // Elimina la sesión del diccionario _sessions.Remove(e.WebSession); } }); }
private void OnSessionAdded(ISession session) { _relayStateService.SendStateToClient(session); SessionAdded?.Invoke(session); }
public override void OnSessionAdded(Session session) { LogWriteLine("********* SESSION " + session.GetName().GetString() + " ADDED ******"); SessionAdded?.Invoke(session); }
public void NotifySessionAdded(SessionInfoDto sessionInfoDto) { TelemetrySessionArgs args = new TelemetrySessionArgs(sessionInfoDto); SessionAdded?.Invoke(this, args); }
protected override void Consume(SessionAddedEvent @event) { SessionAdded?.Invoke(this, @event.SessionId); }