public XmlMethodResultReader(XmlSerializer serializer, StreamReader textReader, XmlReader reader, SerializationMethodStorage <XmlMethodsCompiler> methodStorage, IRemotingEndPoint endPoint) { _serializer = serializer; _textReader = textReader; _reader = reader; _methodStorage = methodStorage; _endPoint = endPoint; ulong?id = null; var attributeCount = _reader.AttributeCount; for (int i = 0; i < attributeCount; ++i) { _reader.MoveToNextAttribute(); switch (_reader.Name) { case XmlSerializer.RpcIdAttributeName: id = ulong.Parse(_reader.Value, NumberStyles.Integer, CultureInfo.InvariantCulture); break; } } // TODO: Throw appropriate exception with meaningful error message _id = id.Value; if (!_reader.Read()) { _isEmpty = true; } }
/// <summary> /// /// </summary> /// <param name="moduleBuilder"></param> /// <param name="typeResolver"></param> public BinarySerializer2(ModuleBuilder moduleBuilder, ITypeResolver typeResolver = null) { _methodCompiler = new BinarySerializationCompiler(moduleBuilder); _methodStorage = new SerializationMethodStorage <BinaryMethodsCompiler>("BinarySerializer", _methodCompiler); _typeResolver = typeResolver; }
public XmlMethodCallReader(XmlSerializer serializer, StreamReader streamReader, XmlReader reader, SerializationMethodStorage <XmlMethodsCompiler> methodStorage, IRemotingEndPoint endPoint) { _serializer = serializer; _endPoint = endPoint; _methodStorage = methodStorage; _textReader = streamReader; _reader = reader; ulong?id = null; ulong?grainId = null; var count = _reader.AttributeCount; for (var i = 0; i < count; ++i) { _reader.MoveToNextAttribute(); switch (_reader.Name) { case XmlSerializer.RpcIdAttributeName: id = ulong.Parse(_reader.Value, NumberStyles.Integer, CultureInfo.InvariantCulture); break; case XmlSerializer.GrainIdAttributeName: grainId = ulong.Parse(_reader.Value, NumberStyles.Integer, CultureInfo.InvariantCulture); break; case XmlSerializer.MethodAttributeName: _methodName = _reader.Value; break; default: throw new NotImplementedException(); } } // TODO: Throw exception with meaningful error message _id = id.Value; _grainId = grainId.Value; }
/// <summary> /// </summary> /// <param name="moduleBuilder"></param> /// <param name="typeResolver"></param> /// <param name="writerSettings">The settings used to create xml documents</param> public XmlSerializer(ModuleBuilder moduleBuilder, ITypeResolver typeResolver = null, XmlWriterSettings writerSettings = null) { if (moduleBuilder == null) { throw new ArgumentNullException(nameof(moduleBuilder)); } _typeResolver = typeResolver; _methodCompiler = new XmlSerializationCompiler(moduleBuilder); _methodStorage = new SerializationMethodStorage <XmlMethodsCompiler>("XmlSerializer", _methodCompiler); _writerSettings = writerSettings ?? new XmlWriterSettings { Indent = true, NewLineHandling = NewLineHandling.Replace, NewLineChars = "\n" }; _readerSettings = new XmlReaderSettings { IgnoreWhitespace = true }; }