Exemple #1
0
 public static ISession GetOrAddSession(UpdateService service)
 {
     if (!_sessions.ContainsKey(service.ID))
     {
         ISession session = new Session();
         session.SocketService = service;
         _sessions.Add(service.ID, session);
     }
     return _sessions[service.ID];
 }
        internal static void Handle(UpdateService service, string command)
        {
            ISession session = SessionStore.GetOrAddSession(service);

            string cmd = command.Split('|')[0];
            string arg = String.Join("|", command.Split('|').Skip(1).ToArray());

            switch (cmd)
            {
                case "execute":
                    CodeExecutionRequest req = session.NewRequest(arg);
                    req.SafeInvoke = true; //Invoke safely
                    ICodeExecutionResult result = req.Execute();
                    service.GetServiceWriter("set|result").Write(result.Output);
                    break;
                default:
                    break;

            }
        }
Exemple #3
0
 /// <summary>
 /// Updates the SocketService to the new Service and notifys the client of all variables.
 /// This is done so the client immediately has access to all global variables
 /// </summary>
 /// <param name="newService"></param>
 private void UpdateSocketService(UpdateService newService)
 {
     _socketService = newService;
     NotifyChanged(VariableStore.Keys);
 }
Exemple #4
0
 public ServiceWriter(UpdateService service, string serviceName)
 {
     _service = service;
     _serviceName = serviceName;
 }