我在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; }
}
当我在PC上调试它时,它工作正常……第一个参数由框架注入,第二个参数绑定到我发布的JSON对象。
但是,当我发布它并在服务器上运行它时,出现以下错误
“消息”:“发生错误。”, “ exceptionMessage”:“无法将多个参数('request'和'person')绑定到请求的内容。”, “ exceptionType”:“ System.InvalidOperationException”, “ stackTrace”:“位于System.Web.Http.Controllers.HttpActionBinding.ExecuteBindingAsync(HttpActionContext actionContext,CancellationToken cancelleToken)\ 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(任务任务)\ r \ n在System.Web.Http.Controllers.ExceptionFilterResult.d__6.MoveNext()\ r \ n ---从上一个引发异常的位置开始的堆栈结束跟踪--- \ r \ n在System.Runtime.ExceptionServices System.Web.Http.Controllers.ExceptionFilterResult.d__6.MoveNext()\ r \ n中的.ExceptionDispatchInfo.Throw()\ r \ n-从上一个引发异常的位置开始的堆栈结束跟踪--- \ r \ n在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\ r \ n在System.Runtime.CompilerServices.TaskAwaiter.HandleNo nSuccessAndDebuggerNotification(任务任务)\ r \ n位于System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()“
我的计算机(Win 10 Pro)和服务器(Windows Server 2016 Datacenter)均运行.Net Framework 4.7.1
我真正想要实现的是使用GraphQL,就像您在github_example的第44行中看到的那样。它们执行相同的操作...此示例在我的PC上工作正常,但在服务器上不起作用
您知道什么地方可能出问题吗?