带有WCF Web服务的C#传统服务器

时间:2013-01-09 17:04:49

标签: c# wcf

我正在创建一个客户端应用程序,可以从Yahoo!下载并显示市场数据对于大学项目,但也向移动设备发送通知(到目前为止使用谷歌云消息)。到目前为止,它是一个WPF客户端,“服务器”是一个类库 - 到目前为止工作。我想知道的是,你可以将这个服务器与WCF服务混合 - 我计划用于注册设备的WCF服务,以及接受和解析命令。

所以我会在我的服务器对象上调用.Start(),它将在后台持续运行,而WCF REST服务与它一起运行 - 或者我会更好地简单地在服务器上运行一个线程可以接受输入...对不起,如果这是令人困惑的,但只是想知道它是否可以,或之前已经完成或任何建议。 :)

只是为了更好地解释一下

客户端前端和“服务器”在同一台机器上运行 - 我称之为服务器,因为它不仅更新前端,而且同时发送GCM通知。我想知道是否可以添加一个WCF服务,以便更容易处理向数据库添加设备(“服务器”从数据库读取设备注册表列表,向这些设备发送通知),允许Android应用程序详细说明REST或类似的东西

2 个答案:

答案 0 :(得分:3)

我会探索在Windows服务中包装类库(它本质上是一个连续运行,可以停止/启动/暂停的进程),并将您的WCF服务保持为客户端通信的Web服务。

WCF客户端服务如何与Windows服务进行通信取决于您 - 无论是将数据存储在共享数据库中,还是将其保存在内存中,还是在两者之间进行另一个WCF层通信等。共享数据库将是最直接的,特别是如果您想要保留数据以供其他应用/服务使用。

答案 1 :(得分:0)

如果您的服务器上有一个连接到多个WPF客户端应用程序的通知服务,则WCF服务将非常有用。如果您只有一个应用程序在同一台服务器上运行,那么不确定它是否值得开销。

通常的模式是在IIS中托管WCF服务,这样每当收到第一个请求时它始终会启动。 WCF非常灵活,因此您可以在Windows服务,控制台应用程序等中进行托管。