C# 从Dialogflow接收Azure中的webhook

C# 从Dialogflow接收Azure中的webhook,c#,azure,post,webhooks,dialogflow-es,C#,Azure,Post,Webhooks,Dialogflow Es,我已经将我的Dialogflow代理与webhook实现一起设置到我的ASP.NET核心web服务,该服务托管在azure上。在VisualStudio中,如何接收代理对我的服务的POST请求,以及如何发送响应?以下URL详细说明了webhook要求: 谢谢!我知道这可能是一个基本的问题,但我从来没有收到POST请求的实际经验 在VisualStudio中,如何接收代理对我的服务的POST请求,以及如何发送响应 如果希望Dialogflow中的帖子显示在本地visual studio安装中,则必

我已经将我的Dialogflow代理与webhook实现一起设置到我的ASP.NET核心web服务,该服务托管在azure上。在VisualStudio中,如何接收代理对我的服务的POST请求,以及如何发送响应?以下URL详细说明了webhook要求:

谢谢!我知道这可能是一个基本的问题,但我从来没有收到POST请求的实际经验

在VisualStudio中,如何接收代理对我的服务的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以进行测试,您可能还想了解如何创建web api,然后在发布到Azure后,您可以转到服务器资源管理器->应用程序服务->[您的资源组]->[您的应用程序],右键单击应用程序并选择“附加调试器”

您是否搜索了如何在asp.net core上处理POST请求?感谢您的回答,我的应用程序将不断收到这些请求,我应该在Program.cs还是Startup.cs中处理它们?您应该为每个api端点配备一个控制器。我真的认为你应该先读一读如何创建一个web api,然后再创建它。好主意,我会初步理解。