我有一个 WCF 服务,它将某些请求路由到中央处理应用程序。WCF 服务使用基本的 HTTP/S 绑定;这是为了与各种客户端技术(Java、Python 等)兼容。
我的任务是向服务添加通知,以便客户端应用程序(服务本身)可以使用 URI 作为参数调用 WCF 方法之一,以便在发送的项目发生状态更改时收到通知原始请求。基本上,他们调用服务并给它一个 URI 字符串以及其他数据。如果/当数据状态发生变化(可能会在几天后发生或永远不会发生),他们应该在他们提供的 URI 处获得响应 DTO,通知它发生了变化。
我遇到的问题是,在 WCF 中使用基本绑定显然不可能实现正确的发布-订阅模式。我可以手动创建一个肥皂信封并调用传递的 URI,但我不知道如何传达返回服务应该通过服务本身实现的回调方法协定(这样他们就可以从 WSDL 中获取它。)
我可以为进行调用的客户手动整理需求规范,但我更愿意以消费者服务可以以编程方式获取的方式使其可用,以便它始终与 WCF 服务本身保持 1:1 的关系。
- 有没有更好的方法来做到这一点,记住我仅限于基本的 HTTP 绑定?
- 如果没有,有没有办法以编程方式公开回调服务方法的外观?