ASMX использует XmlSerializer внутри для сериализации типов, поэтому применяются все обычные правила XmlSerializer (тип должен иметь открытый конструктор без параметров, любые открытые поля и общие свойства get / set будут сериализованы, атрибуты System.Xml.Serialization имеют специальные значение и т. д.)
Атрибут [Serializable] абсолютно не имеет значения для XmlSerializer и, следовательно, для ASMX. Первоначально он был представлен для BinaryFormatter (используется в удаленном взаимодействии .NET) и теперь поддерживается DataContractSerializer (используется в WCF) в качестве альтернативы рекомендуемой модели программирования [DataContract].