示例#1
0
 public ServiceRemotingRequestBondMessageBodySerializer(IBufferPoolManager bufferPoolManager, IList <Type> requestBodyTypes)
 {
     _bufferPoolManager = bufferPoolManager;
     _parameterCount    = requestBodyTypes.Count;
     _payloadType       = CachedBondMessageTypeBuilder.GetOrAddRequestType(requestBodyTypes);
     _serializer        = new Serializer <FastBinaryWriter <OutputStream> >(_payloadType);
     _deserializer      = new Deserializer <FastBinaryReader <InputStream> >(_payloadType);
 }
        public ServiceRemotingResponseBondMessageBodySerializer(IEnumerable <Type> responseBodyTypes)
        {
            var responseBodyType = responseBodyTypes.SingleOrDefault();

            _empty = responseBodyType == null;
            if (_empty)
            {
                _payloadType = typeof(BondEmptyResponseMessageBody);
            }
            else
            {
                _payloadType = CachedBondMessageTypeBuilder.GetOrAddResponseType(responseBodyType);
            }
            _serializer   = new Serializer <FastBinaryWriter <OutputStream> >(_payloadType);
            _deserializer = new Deserializer <FastBinaryReader <InputStream> >(_payloadType);
        }