ASP.Net Web Api Не удается связать несколько параметров - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть следующий метод внутри ApiController

    [HttpPost, Route("addPerson")]
    public HttpResponseMessage Add(HttpRequestMessage request, Person person)
    {           
        var response = request.CreateResponse(HttpStatusCode.OK);
        response.Content = new StringContent("test " + person.Name, Encoding.UTF8, "application/json");

        return response;
    }

    public class Person {
        public string Name { get; set; }
    }

Он отлично работает, когда я отлаживаю его на моем компьютере ... Первый параметр внедряется платформой, а второй связан с объектом JSONЯ опубликовал.

Однако, когда я публикую его и запускаю на сервере, я получаю следующую ошибку

"message": "Произошла ошибка.", "CeptionMessage ": «Невозможно связать несколько параметров (« request »и« person ») с содержимым запроса.», «ExceptionType»: «System.InvalidOperationException», «stackTrace»: «at System.Web.Http.Controllers.HttpActionBinding.ExecuteBindingAsync (HttpActionContext actionContext, CancellationToken cancellationToken) \ r \ n в System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext () \ r \ n --- Конец трассировки стека из предыдущего расположения, где было сгенерировано исключение --- \r \ n в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача task) \ r \ n в System.Web.Http.Controllers.ExceptionFilterResult.d__6.MoveNext () \ r \ n --- Конец трассировки стека из предыдущего расположения, где было сгенерировано исключение --- \ r \ n в системе.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () \ r \ n в System.Web.Http.Controllers.ExceptionFilterResult.d__6.MoveNext () \ r \ n --- Конец трассировки стека из предыдущего местоположения, где было сгенерировано исключение ---\ r \ n в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () \ r \ n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача) \ r \ n в System.Web.Http.Dispatcher.H.MoveNext () "

На моем компьютере (Win 10 Pro) и сервере (Windows Server 2016 Datacenter) работает .Net Framework 4.7.1

Чего я действительно хочу добиться, так этоработать с GraphQL, и, как вы можете видеть здесь github_example , в строке 44. они делают то же самое ... Этот пример отлично работает на моем компьютере, но не на сервере

Есть ли у васЛюбая идея, что может бытьРонг?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...