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; }
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); }
public void IsLoadAssemblyCommand() { var request = new CustomCommandRequest(new object[]{null, new byte[0]}); Assert.AreEqual(true, request.IsLoadAssemblyCommand); Assert.AreEqual(false, request.IsEndSessionCommand); }