![](/img/trans.png)
[英]Problem using httpClient.PostAsync Result = "{Not yet computed}"
[英]Not getting result of HttpClient.PostAsync()
开发需要调用Json REST Api的.NET Core Web应用程序。
呼叫者,召集者 :
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
AuthorizationUser user = new AuthorizationUser { User = "<user>", Application = "<app>" };
var content = new StringContent(JsonConvert.SerializeObject(user), Encoding.UTF8, "application/json");
HttpResponseMessage response = await client.PostAsync(new Uri("http://localhost:8081/Roles"), content);
// ...
}
被叫方:
[AllowAnonymous]
[HttpPost]
public HttpResponseMessage Post(AuthorizationUser user)
{
try
{
user = FillRoles(user);
return Request.CreateResponse(HttpStatusCode.OK, user);
}
catch (System.Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex);
}
}
模型(在呼叫者和被呼叫者中):
public class AuthorizationUser
{
public AuthorizationUser() // Added thanks to CodeFuller
{ }
public AuthorizationUser(string user, string application)
{
User = user ?? throw new ArgumentNullException(nameof(user));
Application = application ?? throw new ArgumentNullException(nameof(application));
}
public string User { get; set; }
public string Application { get; set; }
public IEnumerable<string> Roles { get; set; }
}
当到达被调用方的断点时,接收到的user
始终为空。 我尝试在它之前添加[FromBody]
和[FromUri]
,但结果相同。
我做错了什么?
我无法重现你的问题,掌握正确填写用户User
和Application
领域。
似乎在模型绑定期间发生了一些错误。 要诊断问题,请检查以下内容:
Post()
方法中ActionContext.ModelState.IsValid
的值是什么。 是true
还是false
? ActionContext.ModelState.Values
。 它应该包含模型绑定错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.