【发布时间】:2020-02-10 07:18:13
【问题描述】:
在我的服务器中,我有这样的功能
[HttpPost()]
public void Hello([FromBody]int Version)
{
}
如果我省略了 [FromBody]int Version 参数,我能够调用上述 API
var c = new HttpClient();
var Json = new StringContent(JsonConvert.SerializeObject(new { Version = 123}), Encoding.UTF8, "application/json")
var Resp = Api.PostAsync("http://MyURL", Json).Result;
如果包含 [FromBody]int Version。我收到以下错误:
Request.Body
{Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpRequestStream}
CanRead: true
CanSeek: false
CanTimeout: false
CanWrite: false
Length: '((Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpRequestStream)Request.Body).Length' threw an exception of type 'System.NotSupportedException'
Position: '((Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpRequestStream)Request.Body).Position' threw an exception of type 'System.NotSupportedException'
ReadTimeout: 'Request.Body.ReadTimeout' threw an exception of type 'System.InvalidOperationException'
WriteTimeout: '((Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpRequestStream)Request.Body).WriteTimeout' threw an exception of type 'System.NotSupportedException'
【问题讨论】:
标签: .net-core dotnet-httpclient kestrel-http-server