从 Web 作业调用 Web API 或使用类



我正在 Azure 上创建一个 Web 作业,目的是在我的网站上处理一些工作负载和执行服务器后台任务。

我的网站有几个 Web API 方法,

我的网站使用这些方法,但我也希望 Web 作业在完成后执行与 Web API 方法相同的任务。

我的问题是,我应该让 Web 作业调用此 Web API(如果可能),还是应该将 Web API 代码移动到类中,并让 Web API 和 Web 作业都调用此类?

我只是想知道这里的正常做法是什么。

谢谢

我建议你将通用逻辑放在一个dll中,并让它们共享该库,而不是试图让webjob调用webapi。

我认为这将是获得所需内容的简单方法(此外,它还将帮助您将内容分开,以便可以共享它们 - 而不是在您的webapi中放置太多逻辑)。

我认为这是玩家的选择。 如果选择以这种方式部署它们,则两者都将在 Azure 中的同一实例上运行。 您可以通过狗粮 API 重用,也可以通过.dll共享类来重用。 我们开始混合,但最终采用了狗粮API,因为我们使用的Web作业数量变得更大/更复杂。 这里有几个原因。

  • 不与 API 使用的库/代码耦合
  • 更轻松地将 Web 作业移动到其自己的解决方案中,仅依赖于 API 和我们为其选择的任何其他库
  • 几乎免费的API测试(通过我们自己的API客户端进行狗粮)
  • 我们已经在 API 中连接了日志记录和其他问题(更多重用)

尽管实际上两者都有效,但它实际上归结为管理依赖项以及您正在构建的应用程序/解决方案的大小。

相关内容

  • 没有找到相关文章

最新更新