public ProtoBufServiceMap(ISerializerCache serializerCache, OperationDefinition operationDefinition, RequestValueDefinition requestValueDefinition, ResponseValueDefinition responseValueDefinition, ITypeMap inputTypeMap, ITypeMap outputTypeMap) : base(serializerCache, operationDefinition, requestValueDefinition, responseValueDefinition, inputTypeMap, outputTypeMap) { var requestType = RequestValueDefinition.ParameterInfo?.ParameterType; var responseType = ResponseValueDefinition.ParameterInfo?.ParameterType; readRequestMethod = BuildReadValueMethod(requestType); readResponseMethod = BuildReadValueMethod(responseType); writeRequestMethod = BuildWriteValueMethod(requestType); writeResponseMethod = BuildWriteValueMethod(responseType); }
private static object PrepareValue(object value, WriteValueMethod writeValueMethod) { if (value == null) { return(null); } var stream = new MemoryStream(); writeValueMethod(stream, value); return(stream); }