WCF服务和WCF服务之间的数据共享

时间:2016-03-11 21:26:54

标签: c# .net wcf

我正在尝试在WCF中实现基本的通信。到目前为止,我一直在关注这个msdn教程:https://msdn.microsoft.com/en-us/library/ms734712%28v=vs.110%29.aspx

我的问题:在应用程序中,将为3种不同类型的客户端提供大约3个单独的WCF服务(但包含在同一个WCF服务库项目中)。

  1. 我需要创建一些将在所有3个WCF服务之间共享的数据结构。例如,我想跟踪连接的客户端,并希望能够访问服务中的此类列表以添加,删除等。通常,服务器应用程序应该保存这些数据并维护它但我已经与所有WCF抽象有点混淆。似乎所有通信逻辑都必须在WCF服务中实现。服务器应用程序只是创建并打开与服务关联的ServiceHost对象,并且没有办法将特定数据公开给服务(也可以修改数据)?那么问题是在多个WCF服务之间以何种方式共享数据?

  2. 我需要跟踪一些消息的到达频率。如何在WCF服务中完成?在服务的构造函数中创建一个单独的线程,并监视服务在收到给定消息后会更新的一些字段?这是一个可行的解决方案吗?

  3. WCF服务实际上是走的路还是有更好的方法?如果你能给我一些必要的提示和关键词来完成我所描述的内容,我将非常感激!

1 个答案:

答案 0 :(得分:1)

您想要做的事情超出了WCF本身的范围。您需要一个数据访问层,您可以在其中保持应用程序的状态。

根据具体情况,有很多方法可以做到这一点。它很可能是一个简单的单例对象,具有List<客户>在其中,所以你只需将这些连接存储在RAM中。它可能是一些依赖IStorage,你用IoC注入。您可以直接使用数据库。

基本上创建另一个负责存储这些连接的类。然后允许您的WCF服务访问该类。

相关问题