/// <summary> /// Start a new session /// </summary> /// <param name="clientInfo">The client information regarding the current session.</param> /// <returns></returns> public static Guid StartSession(SessionClientInfo clientInfo) { Guid sessionID = Guid.NewGuid(); ISessionCallback callback = OperationContext.Current.GetCallbackChannel<ISessionCallback>(); SessionInfo sessionInfo = new SessionInfo() { SessionID = sessionID, StartTime = DateTime.Now, LastActivityTime = DateTime.Now, ClientInfo = clientInfo }; lock (_syncHelper) { CurrentSessionList.Add(sessionID, sessionInfo); CurrentCallbackList.Add(sessionID, callback); } return sessionID; }
private void buttonStartSession_Click(object sender, EventArgs e) { string hostName = Dns.GetHostName(); IPAddress[] ipAddressList = Dns.GetHostEntry(hostName).AddressList; string ipAddress = string.Empty; foreach (IPAddress address in ipAddressList) { if (address.AddressFamily == AddressFamily.InterNetwork) { ipAddress += address.ToString() + ";"; } } ipAddress = ipAddress.TrimEnd(";".ToCharArray()); string userName = this.textBoxUserName.Text.Trim(); if (string.IsNullOrEmpty(userName)) { return; } SessionClientInfo clientInfo = new SessionClientInfo() { IPAddress = ipAddress, HostName = hostName, UserName = userName }; SessionUtility.StartSession(clientInfo); this.groupBox2.Enabled = false; }
public static void StartSession(SessionClientInfo clientInfo) { TimeSpan timeout; SessionID = Channel.StartSession(clientInfo, out timeout); Timeout = timeout; }
public Guid StartSession(SessionClientInfo clientInfo, out TimeSpan timeout) { timeout = SessionManager.Timeout; return SessionManager.StartSession(clientInfo); }