如何实现回调URL以在c#中接收json数据

时间:2017-08-28 19:11:35

标签: c# json

有些日子我已经在一个项目上苦苦挣扎,我需要提供一个URL,让我能够收到JSON响应(这正是我第一次调用Web API) 这是场景: - 首先,公司有一个我需要消费的网络服务,并向我们的客户发送账单提示,到目前为止它已经成功 - 其次,他们要求我实施一个回调并给他们一个URL,他们会打电话给我发送账单的状态,无论我们的客户是否确认了账单提示(这是我堆积的地方) 当我获得JSON数据时,我可以轻松地使用它来做我想要的但我的问题是如何实现公司将调用以发送状态的网页。 请一个示例代码对我很有帮助。谢谢

3 个答案:

答案 0 :(得分:0)

您要实现的目标称为WebAPI。您使用控制器将HTTP端点公开给Internet,并且您的API的使用者可以利用它们将POST状态恢复原状。

答案 1 :(得分:0)

您正在描述创建API。基本上,您使用C#中的控制器创建端点URL。您可以在此控制器中接收来自"公司"的数据。并处理它,然后做你需要做的事情。如果你使用标准的MVC框架构建到C#中,它是相当直接的。以下是我们在三脚OAuth过程中使用的回调网址示例。最后一步涉及第三方向我们的回调网址发送请求并发布一些数据。我们使用模型作为参数。但您也可以使用简单的结构(intstring等)。由于params名称的日志与第三方在查询字符串或POST中发送的名称相匹配,因此MVC框架将自动处理变量赋值。序列化/反序列化内置于框架中。

以下是我们在其中一个应用中实施回调网址的一个小例子:

public class MyAuthenticatedController : Controller
{
    public ActionResult Index([FromUri]MyAuthenticatedModel model)
    {
        logTheResponse(model);
        if (model == null)
        {
            throw new HttpException(401, "Auth Failed");
        }
    }
}

第三方会点击网址:

http://app.mydomain.com/myauthenticated

使用GET方法。

答案 2 :(得分:0)

如果您不想构建ASP.NET Web API项目,可以使用Azure Function轻松完成此操作。

请参阅:https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-generic-webhook-triggered-function