当单击我站点中的按钮时,使软件执行某些操作(理论上)

时间:2016-12-06 20:41:14

标签: algorithm web-services http delphi communication

我一直在考虑这个问题,但这是我第一次尝试获得一些帮助。所以也许我仍然没有问正确的问题,我为此道歉。顺便说一句,这是一个理论上的"问题,我不是要求代码......而且,英语不是我的母语(再次抱歉)......

好吧,我需要(以编程方式)创建一种方法,允许局域网内的软件(路由器/防火墙后面)在点击我网站上的按钮时执行某些操作。该软件位于完全远程的位置,与网站不在同一台计算机/服务器中。

我知道我可以在软件中创建某种线程来定期收听布尔数据库字段,或者可能是网站中的文本文件。但我认为今天我们可能会有更好的(更有效的)技术来满足这种需求......

我想知道这种方法最有效的解决方案是什么(或者是什么)。有效率我的意思是轻量级(不要用定期请求超载我的网站)和快速(用户只需等待几秒钟点击按钮获得响应)。

我很欣赏任何关于这种必要性的解决方案的想法和想法,并提前感谢!

2 个答案:

答案 0 :(得分:0)

理论上,您可以在SQL服务器上创建一个存储过程,该操作由于单击按钮而启动。例如,按钮单击可以通过查询服务器来增加计数器,然后运行该过程。你甚至可以将参数传递给它。在SQL服务器上的存储过程中,您将使用PowerShell告诉它运行程序(最好是服务)。

您的按钮将调用存储过程。 此存储过程将使用参数调用'xp_cmdshell'。 然后,Powershell会告诉远程计算机运行应用程序。

按钮> xp_cmdshell(PowerShell)>远程启动可执行文件。

答案 1 :(得分:0)

首先......你有一个艰难的斗争,因为做你想要的是非常危险,通常是不允许的,因为Web应用程序的目的是脱离托管操作系统。否则,黑客就会对人们的机器有一个巨大的前门。

第二......你不清楚“软件”的位置。它是否会在管理网站的网络服务器上执行,是在局域网上的一台完全远程的计算机上运行,​​还是在你的机器上拉回exe并执行,这恰好在局域网上?< / p>

有了......你可以查看这些链接以获得一些指导:

https://community.serif.com/forum/8612/x7-run-exe-eg-notepad-exe-by-clicking-button-in-website

How to launch an EXE from Web page (asp.net)

最后,您可以使用网站按钮调用将执行exe的web api。