.NET如何允许Windows窗体应用程序成为Webhook接收器

时间:2018-02-14 01:07:32

标签: c# asp.net .net asp.net-web-api webhooks

我正在处理的当前项目是一个Windows窗体应用程序,它在很大程度上用作后台服务,以便将查询发送到相当数量的API并将该信息存储到数据库中。很简单。

当我实现更多的数据源时,我遇到的问题是我要从哪个地方想要使用webhooks将数据推送给我。同样相当简单,我做了一些关于制作ASP.NET Web API项目的教程,所有这些都是孤立的。

现在我感到困惑的是将它们捆绑在一起。根据我的理解,我的选项将是单独运行Form应用程序和Web API应用程序,这看起来比我想要的更多分离(特别是考虑到webhook是针对单项数据已经与表格申请正在处理)。或者另一个选择是让Form应用程序自己托管一个Web服务,这似乎是要走的路,但我不确定如何在不启动Web API shell的情况下接近它。

我尝试阅读它,thisthis似乎巩固了一定可以在表单应用程序中托管webhook接收器/控制器服务器而无需为其创建新项目它。但是我不确定它会采用什么样的配置,新文件和设置。

我非常感谢能够提供有关如何在默认情况下为其设计的项目类型中实现此webhook控制器的指导,或者如果您可以告诉我这是一个坏主意并且我应该分开他们的项目。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

"网络挂接" (或者通常是HTTP回调)需要可公共路由的地址。在家里,您的台式计算机可能位于NAT后面,并且具有动态IP地址,因此除非您启用端口转发并找到可公开路由的地址,否则它将无法工作(假设它可能完全可用,并且你不是在受限制的公司或学校/大学网络内经营)。您可能希望使用AWS Lambda或Azure Functions作为一种快速简单的方式来接受来自公共网站的消息,您的桌面程序可以从以后检索这些消息(使用"邮箱"范例)。您可以尝试使用WebSocket或EventSource实时工作,但我不知道它是否适用于AWS Lambda或Azure Functions - 如果它没有,那么您将需要&# 34;实"网站。