【发布时间】:2021-01-08 15:37:53
【问题描述】:
我正在将使用 WCF 的项目转换为 WebApi。 AsyncCallback 对象可以像普通方法调用一样轻松传递。但是,当尝试在我的 .NET Core WebApi 中反序列化结果时,会产生错误。
public class AsyncRequest {
[JsonConstructor]
public AsyncRequest () {}
public AsyncCallback Callback { get; set; }
}
// The object is being used in methods like this:
[HttpPost]
[Route("action")]
public IActionResult Action ([FromBody]AsyncRequest request) {
}
我还有其他几个 WebApi 方法在工作,包括使用对象发送信息。所以一般来说这不是 WebApi 的问题。
【问题讨论】:
-
你遇到了什么错误?你可以试试adding
NewtonsoftJsoninConfigureServices。 -
@MichaelWang 值不能为空。 (参数'method'),查看JSON它确实有这样一个参数,但属性名称为“method0”,所以看起来它们有不同的序列化/反序列化方法。
-
@MichaelWang 当我在 JSON 中用“方法”替换它时,它会产生错误“找不到成员‘值’”。
-
嗨,@MrFox,没有 Json 和完成的对象,我看不到错误。我建议您检查您通过 JSON 格式化程序和验证器发布的 json,并反序列化与 JSON 字符串相同的对象属性。
标签: rest callback asp.net-core-webapi