如何将通知从 PHP 发送到 C# 服务

本文关键字:服务 PHP 通知 | 更新日期: 2023-09-27 17:55:39

我有一个用C#编写的Windows服务来处理数字文档,还有一个用PHP编写的Web应用程序。我需要能够通知 C# 服务新文档已准备好进行处理。

目前,C# 服务每 10 秒读取一次 MySQL 数据库,以查看是否有新任务要执行。这会在 Web 应用程序的响应能力中造成 10 秒的滞后。我希望能够在文档准备就绪时立即触发 C# 服务。

我正在寻找一个答案,允许 PHP 立即通知 C# 服务。

以下是我提出的一些可能的想法;

  • 在 PHP 和 C# 之间使用共享内存对象,并在 C# 中有一个线程等待该对象发出信号。这在PHP中可能吗?
  • PHP 使用本地主机上的套接字连接到 C#,发送 nak 并断开连接。这对我来说似乎效率低下。
  • 将 MySQL 配置为使用内存中表,并让 C# 服务每秒查询一次表。
  • 在 C# 中创建某种使用 XML 或 SOAP 的 Web 服务是否困难,通过 PHP 调用该服务是否有任何滞后(+1 秒)?

这就是我能想到的。也许应该有某种标准的方法来完成,我只是不知道。

如何将通知从 PHP 发送到 C# 服务

在 WCF 中创建一个 REST 外观,以针对/在 POST 上触发 c# 服务,这是非常简单的。 安全性可以分层,具体取决于部署的性质。

http://msdn.microsoft.com/en-us/library/bb412178.aspx

我将继续尝试回答这个问题。

在您的服务中,添加 OnCustomCommand 处理程序,如此问题中所述以触发服务工作:如何从 .NET 代码将自定义命令发送到 .NET Windows 服务?

创建一个单独的 C# 应用程序,该应用程序只需将命令发送到您的服务,并通过 exec() 函数从 PHP 调用该命令。

您可以在服务中自托管 ASP.NET WebAPI