我已经在Azure上托管的ASP.NET Core Web服务上通过webhook实现设置了Dialogflow代理。在Visual Studio中,如何接收对我的服务的代理程序的POST请求以及如何发送响应?以下URL详细说明了Webhook的要求:https://dialogflow.com/docs/fulfillment

谢谢!我知道这可能是一个基本问题,但是我实际上从未有过接收POST请求的经验。

最佳答案

在Visual Studio中,如何接收对我的服务的代理程序的POST请求以及如何发送响应?


如果希望Dialogflow上的帖子显示在本地Visual Studio安装中,则必须设置某种IP隧道系统。只需将对话框流实现Webhook设置为隧道端点即可。诸如ngrok.io之类的东西应该可以解决问题。工作正常后,可以将其部署到Azure并更改对话框流实现Webhook以定位到您的Azure Web API。


  如何发送回复?


就像您设置任何其他Web API一样

[HttpPost]
public IHttpActionResult GetProduct([FromBody] Request request)
{
  // do something with request to build a proper response
  var response = new ActionsResponse { ... }
  return Ok(response );
}


当然,您将需要设置正确的请求和响应格式的对象。您可能还想阅读有关如何创建Web api Create a Web API with ASP.NET Core and Visual Studio for Windows的信息。

关于c# - 从Dialogflow接收Azure中的Webhook,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51182071/

10-12 12:37