我有一个用 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 秒)?
我能想到的就这些了。也许应该有某种标准方式来完成此操作,但我只是不知道。
最佳答案
在 WCF 中创建一个 REST 外观来触发针对/的 POST 上的 C# 服务是非常简单的。安全性可以根据部署的性质进行分层。
关于c# - 如何从 PHP 向 C# 服务发送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14506852/