コード例 #1
0
        public virtual bool TryDeserializeCommand(string requestString, out ICommand command)
        {
            object[] request;
            if (!TryDeserializeString(requestString, out request))
            {
                command = null;
                return false;
            }

            var customCommandRequest = new CustomCommandRequest(request);
            if (customCommandRequest.IsLoadAssemblyCommand)
            {
                command = new LoadAssemblyCommand(customCommandRequest.AssemblyName, customCommandRequest.AssemblyContents, commandAssemblies, this);
            }
            else if (customCommandRequest.IsEndSessionCommand)
            {
                command = new EndSessionCommand();
            }
            else
            {
                ICommandAssembly commandAssembly = commandAssemblies.Get(customCommandRequest.AssemblyName);
                command = commandAssembly == null
                              ? null
                              : new CustomCommand(customCommandRequest.AssemblyName, DeserializeString(customCommandRequest.Payload), new CommandAssemblies());
            }
            return true;
        }
コード例 #2
0
        public virtual bool TryDeserializeCommand(string requestString, out ICommand command)
        {
            object[] request;
            if (!TryDeserializeString(requestString, out request))
            {
                command = null;
                return(false);
            }

            var customCommandRequest = new CustomCommandRequest(request);

            if (customCommandRequest.IsLoadAssemblyCommand)
            {
                command = new LoadAssemblyCommand(customCommandRequest.AssemblyName, customCommandRequest.AssemblyContents, commandAssemblies, this);
            }
            else if (customCommandRequest.IsEndSessionCommand)
            {
                command = new EndSessionCommand();
            }
            else
            {
                ICommandAssembly commandAssembly = commandAssemblies.Get(customCommandRequest.AssemblyName);
                command = commandAssembly == null
                              ? null
                              : new CustomCommand(customCommandRequest.AssemblyName, DeserializeString(customCommandRequest.Payload), new CommandAssemblies());
            }
            return(true);
        }