我有一个用 C# 编写的用于处理数字文档的 Windows 服务,以及一个用 PHP 编写的 Web 应用程序。我需要能够通知 C# 服务新文档已准备好进行处理。
目前,C# 服务每 10 秒读取一次 MySQL 数据库,以查看是否有新任务要执行。这会导致 Web 应用程序的响应延迟 10 秒。我希望能够在文档准备好后立即触发 C# 服务。
我正在寻找一个答案,让 PHP 可以毫不拖延地通知 C# 服务。
以下是我的一些可能的想法;
- 在 PHP 和 C# 之间使用共享内存对象,并让 C# 中的线程等待该对象发出信号。这可以用PHP吗?
- PHP 使用 localhost 上的套接字连接到 C#,发送一个 nak 并断开连接。这对我来说似乎效率低下。
- 将 MySQL 配置为使用内存中的表,并让 C# 服务每秒查询一次该表。
- 在 C# 中创建某种使用 XML 或 SOAP 的 Web 服务是否困难,并且通过 PHP 调用该服务会有任何延迟(+1 秒)吗?
这就是我能想到的。也许应该有某种标准的方式来完成,我只是不知道。