public override async Task ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken)
        {
            await Descriptor.BindWithFormatter().ExecuteBindingAsync(metadataProvider, actionContext, cancellationToken);

            await Descriptor.BindWithModelBinding().ExecuteBindingAsync(metadataProvider, actionContext, cancellationToken);

            await new EnsureRequestParameterBinding(descriptor: Descriptor).ExecuteBindingAsync(metadataProvider, actionContext, cancellationToken);
        }
Esempio n. 2
0
        public override Task ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken)
        {
            List <MediaTypeFormatter> perRequestFormatters = new List <MediaTypeFormatter>();

            foreach (MediaTypeFormatter formatter in _formatters)
            {
                MediaTypeFormatter perRequestFormatter = formatter.GetPerRequestFormatterInstance(Descriptor.ParameterType, actionContext.Request, actionContext.Request.Content.Headers.ContentType);
                perRequestFormatters.Add(perRequestFormatter);
            }

            return(Descriptor.BindWithFormatter(perRequestFormatters).ExecuteBindingAsync(metadataProvider, actionContext, cancellationToken));
        }
 protected virtual HttpParameterBinding CreateInnerBinding(IEnumerable <MediaTypeFormatter> perRequestFormatters)
 {
     return(Descriptor.BindWithFormatter(perRequestFormatters));
 }
 protected override HttpParameterBinding CreateInnerBinding(IEnumerable <MediaTypeFormatter> perRequestFormatters)
 {
     return(Descriptor.BindWithFormatter(perRequestFormatters, bodyModelValidator: null));
 }
Esempio n. 5
0
        public override Task ExecuteBindingAsync(ModelMetadataProvider metadataProvider, HttpActionContext actionContext, CancellationToken cancellationToken)
        {
            var formatter = _formatter.GetPerRequestFormatterInstance(Descriptor.ParameterType, actionContext.Request, actionContext.Request.Content.Headers.ContentType);

            return(Descriptor.BindWithFormatter(new[] { formatter }).ExecuteBindingAsync(metadataProvider, actionContext, cancellationToken));
        }