public override async Task ExecuteBindingAsync( ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken ) { Contract.Assume( metadataProvider != null ); Contract.Assume( actionContext != null ); var request = actionContext.Request; var content = request.Content; if ( content != null ) { await content.LoadIntoBufferAsync(); } var message = new HttpMessageContent( request ); using ( var stream = await message.ReadAsStreamAsync() ) { actionContext.ActionArguments[Descriptor.ParameterName] = Checksum.AsBase64( stream ); } }