【问题标题】:Serialize AsyncCallback序列化异步回调
【发布时间】: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 NewtonsoftJson in ConfigureServices
  • @MichaelWang 值不能为空。 (参数'method'),查看JSON它确实有这样一个参数,但属性名称为“method0”,所以看起来它们有不同的序列化/反序列化方法。
  • @MichaelWang 当我在 JSON 中用“方法”替换它时,它会产生错误“找不到成员‘值’”。
  • 嗨,@MrFox,没有 Json 和完成的对象,我看不到错误。我建议您检查您通过 JSON 格式化程序和验证器发布的 json,并反序列化与 JSON 字符串相同的对象属性。

标签: rest callback asp.net-core-webapi


【解决方案1】:

这些回调是在 WCF 中实现异步方法的方式。
因为我们现在使用 WebApi,所以默认情况下所有调用都是异步的。
因此不再需要此实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 2020-03-08
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多