如何在其他应用程序中立即运行代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在其他应用程序中立即运行代码相关的知识,希望对你有一定的参考价值。

我有两个Asp.Net网络应用程序,App 1和App 2.它们都使用相同的数据库。我试图从App 1发出命令,并立即在App 2中运行一些代码。

我能想到的唯一方法是在数据库中插入一个命令,让App 2每隔几分钟轮询一次数据库。但这意味着运行代码可能会有延迟。

有没有办法立即在App 2中运行代码?

答案

您可以从一个应用程序激活HttpRequest到另一个应用程序,代码将立即运行。

我不知道你正在使用什么语言和平台,所以很难给你具体的例子,但这里有大纲:

在App2中创建一个页面。在标准ASP.Net中,您可以使用处理程序。在ASP Core中,您可以使用API​​控制器。两者都以JSON或XML返回单个值或完整对象。或者,如果您想返回html,则可以使用标准页面。后面的代码是你想要运行的。处理程序或控制器中呈现的页面或返回值是您希望App1返回的响应。

然后从App1向App2中的该页面发出HttpRequest并检查响应以查看如何继续(例如,如果代码成功运行)。

HttpRequest是为了防止你从App1的服务器端进行调用。如果要从客户端进行调用,则使用Ajax。在Ajax的情况下,你必须注意安全方面,因为你不想允许任何人从App2调用该页面,除非它背后的代码不会带来任何安全风险并且不返回任何敏感数据。

最后一个特定于您的场景的想法,因为两个应用程序都使用相同的数据库,您可以按照计划将所需的值添加到数据库,然后发出一个简单的HttpRequest。这样,您无需担心安全性或传递任何敏感信息。当App2收到请求时,它会检查数据库以查看该请求是否实际来自App1,然后处理它,否则忽略它。

以上是关于如何在其他应用程序中立即运行代码的主要内容,如果未能解决你的问题,请参考以下文章

如何在长时间运行的程序中立即确认 Pub/Sub 消息

如何在元素完成渲染后立即运行函数?

什么是立即数寻址

如何在一定时间到期后立即停止线程? [复制]

如何在 IDLE 中停止 Python 程序的执行

如何阻止 C++ 控制台应用程序立即退出?