有关使用Windows Communication Foundation(WCF)的指南

时间:2010-02-04 14:57:56

标签: wcf

我需要知道Windows Communication Foundations(WCF)是否可以完全轻松地帮助解决下一个场景:

  1. 我需要一个服务器程序 不断收到的事件, 根据内容 信号,有助于触发一个或多个 流程;这个服务器程序会 作为Windows服务运行。

  2. 这些事件将生成为 来自许多客户端WPF的信号 程序等等,可以入队。

  3. 将生成这些事件 根据计时器的结果 也

  4. 客户之间的沟通 并且服务器将使用 独家港口。

  5. 出于安全原因,数据 使用独家通讯 端口需要加密。

  6. 最后,客户需要 监控程序的结果 执行。

  7. 如果答案是肯定的,请尝试指出我应该考虑哪些库/类:

     1) The event management
     2) The enqueue process
     4) The setting, opening, use and closing of the port
     5) The encryption process
     6) Monitoring of the server program execution from the client.
    

    很多,非常感谢。

2 个答案:

答案 0 :(得分:1)

为什么不将服务器作为Web服务,而不是从头开始编写Windows服务程序,这需要处理传入消息的多线程排队?这样,IIS可以担心接收,排队等等,您只需编写代码来处理请求。

答案 1 :(得分:0)

根据您的描述,我认为在NT服务中托管的WCF服务似乎非常合适。

  

1)我需要一个不断接收事件的服务器程序,

根本不是问题,即使没有任何人登录,NT服务也会一直启动并运行。

  

2)这些事件将作为来自许多客户端WPF程序的信号生成,因此可以排队。

同样,对于WCF服务没有问题 - 你可以创建一个http,一个net.tcp,一个MSMQ队列端点 - 所有这些都在一个服务中。您可以获得所需的所有灵活性。

  

4)客户端和服务器之间的通信将使用专用端口。

工作正常 - 如果您在NT服务中自托管WCF服务,则可以完全控制端点地址。

  

5)出于安全原因,使用专用端口的数据通信需要加密。

默认情况下,所有WCF通信都是加密的,除非您将其关闭。

  

6)最后,客户端需要监控程序执行的结果。

再次 - 不是问题。

对于MSMQ队列,您可以创建一些客户端可以侦听的响应队列。对于HTTP或NetTCP,您可以创建响应消息(如果处理非常快)或创建“检查状态”操作,允许客户端检查状态。或者你可以根据需要混合搭配。

总而言之,我确信WCF会为你提供很好的服务!