2009-05-06 28 views
5

我想知道是否有人试图用这种技术从服务器端获取事件给客户端。我有一个使用基于Unix的服务器的环境,所以不能使用WCF双工/回调等。WCF在客户端自主托管?好还是坏

这个想法是,我的客户端是运行一个厚的.net应用程序的Windows框会启动一个WCF自己的主机,并注册他们自己的主机URL在该会话的服务器上。他们会有一个非常简单的合同,当服务器有一个更新呼叫客户端服务器告诉它一个更新正在服务器上等待它,然后客户端会得到它等等。

我仍然试图让我的脑袋围绕WCF,所以不知道这是否是一个好方法,是否有任何安全隐患我应该担心?有没有办法让双面呼叫在平台上工作?

在使用套接字之前,我已经做了类似的事情,或者跨平台的消息队列无论如何都是更好的方法。

感谢

76mel

回答

1

最起码,这听起来像它应该工作,虽然我想你可以在IIS托管以及自* nix的服务器然后可以只是做一个网站打电话吧?我不确定什么自托管会给你带来好处,虽然它应该可以正常工作,但是可能会更加痛苦地配置,等等。

请在这里更新,只要你做出决定因为这听起来像是一个有趣的挑战,我们中的一些人想看看你是如何做出的。

+0

是的我曾考虑过在IIS中间层放置它的一个好主意。我的想法是,我们有10,000个客户端和1/3的并发数,因此支持在IIS框中花费一点。 我打算进行一个概念验证,并会保持公布,但如果有人有更多的想法,见解和关注,如果作为启动TCP监听器的好事情是常见的做法,为什么不WCF服务。 – 76mel 2009-05-06 16:55:14

+0

好吧,我已经尝试过这一切都得到了它的工作。我认为这对防火墙内部的项目非常有效。如果你想跨越防火墙,我认为使用总线/队列是一个更好的方式,因为你在较低的层次连接。我在这里做的是得到一个Unix服务器知道的简单事件契约。我在Windows服务中运行WCF服务,首先使用端点向服务器注册自己。服务器然后可以在我的端点触发事件,并且可以通过从服务器提取数据来响应这些事件。 – 76mel 2009-05-20 09:16:11

1

我们对于类似的场景使用自托管的WCF。我们也想避免使我们的客户端应用程序依赖于IIS,以防止许可和部署的麻烦。

它对我们来说工作得很好,虽然WCF可能会为你需要的东西矫枉过正。由于您使用的是HTTP,因此您可以创建一个直接在Http.sys上构建的简单Web服务。

1

获得类似结果的另一种方法是让客户进行投票。这确实取决于什么要求。如果你需要近乎实时的更新,这显然不起作用,因为你必须让很多民意调查才能做到这一点,但如果花费一分钟或更长时间来获取客户端更新是可以的,那么轮询可能只是答案。

相关问题