public object Connection_Connect() { WorkContext.NeedsSession(); var who = "{0}-{1}".Args(WorkContext.EffectiveCallerIPEndPoint.Address, WorkContext.Session.User); var terminal = AppRemoteTerminal.MakeNewTerminal(App); var info = terminal.Connect(who); var handle = Guid.NewGuid(); App.ObjectStore.CheckIn(handle, terminal); return(GetLogicResult(new { handle, info })); }
public object Connect(string who = null) { WorkContext.NeedsSession(); var terminal = WorkContext.Session[TERMINAL_SESSION_KEY] as AppRemoteTerminal; if (terminal != null) { return new { Status = "Already connected", WhenConnected = terminal.WhenConnected } } ; if (who.IsNullOrWhiteSpace()) { who = "{0}-{1}".Args(WorkContext.Request.UserHostAddress, WorkContext.Session.User); } terminal = AppRemoteTerminal.MakeNewTerminal(App); var info = terminal.Connect(who); WorkContext.Session[TERMINAL_SESSION_KEY] = terminal; return(info); }