我想知道是否有人尝试过这种技术从服务器端向客户端发送事件。我有一个使用基于Unix的服务器的环境,因此不能使用WCF双工/回调等。
我的客户端是运行厚.net应用程序的Windows框,这个想法会启动WCF自托管主机,并在该会话的服务器上注册自己的主机URL。他们将有一个非常简单的合同,服务器会在有更新时调用客户端服务器告诉它一个更新正在服务器上等待它,然后客户端会得到它等。
我仍然试图绕过WCF,所以不确定这是否是一个好方法,是否有任何安全隐患我应该担心?有没有办法让双工呼叫跨平台工作。
在使用套接字之前我做过类似的事情,或者无论如何,跨平台消息队列都是更好的方法。
谢谢
76mel
答案 0 :(得分:1)
至少,这听起来应该有用,虽然我猜你也可以在IIS中托管,因为* nix服务器可以只是进行网络通话,对吧?我不确定自我托管会给你带来什么,虽然它应该可以正常工作,但是可能会更难以配置等等。
请在做出决定时在此更新,因为这听起来像是一个有趣的挑战,我们中的一些人希望看到你的结果。
答案 1 :(得分:1)
我们使用自托管WCF来实现类似的方案。我们还希望避免使我们的客户端应用程序依赖于IIS,以防止许可和部署麻烦。
它对我们来说效果相当不错,尽管WCF对你所需要的东西可能过度。由于您使用的是HTTP,因此可以创建一个直接在Http.sys上构建的简单Web服务。
答案 2 :(得分:1)
获得类似结果的另一种方法可能是进行客户端轮询。这在很大程度上取决于那里的要求。如果您需要近乎实时的更新,这显然不起作用,因为您必须让许多民意调查才能执行此操作,但如果可以花一分钟或更长时间来获取客户端的更新,则轮询可能只是答案。