首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF C#客户/服务器发布系统

WPF C#客户/服务器发布系统
EN

Stack Overflow用户
提问于 2010-01-21 14:31:56
回答 1查看 1.3K关注 0票数 0

我目前正在我的工作地点创建一个公告系统。该系统的作用将是取代所有用户的电子邮件,因为人们滥用它和普遍滥用该设施。该系统将包括:

网络门户:将允许工作人员输入任何重要公告(这将通过AD进行限制)。

SQLServer2k5DB:将保存公告以及工作人员的记录,如果他们已经阅读了公告等。

前端:在WPF & C#中创建的已接近完成,它将向用户显示公告。

xml:客户端将经常联系,这将返回一个供客户端读取的文件。

然而,我的老板现在已经改变了目标帖子,并且希望一旦通知被写入数据库,就会出现在用户面前,而不是等待客户端与网页联系。

所以现在我有点不确定该怎么做。我有一个想法,我会创建一个小型服务器应用程序,以监测新的公告,然后联系客户,以通知他们接近网站,以获得他们需要的信息。但我只是想看看是否有更好或更有效的方法来做这件事,或者其他人是否有更合适的想法或建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-21 14:40:25

Hm一个有趣的项目--您可以尝试满足消息传递需求的一种方法是使用WCF双工web服务(http://msdn.microsoft.com/en-us/library/ms731064.aspx)。

它看起来是这样的- WCF服务托管在中央应用服务器上,与DB对话。所有客户端都使用双工双向绑定订阅此WCF服务.然后,他们可以有效地听任何通知的新宣布--你会得到一个不错的回调与args给他们一个祝酒词。

应该是一种有效的方法。

在双工绑定中,您提供了两个在客户机上生成的接口,一个用于服务,另一个用于回调类:

代码语言:javascript
复制
public interface ICalculatorDuplex
{
    [OperationContract(IsOneWay = true)]
    void Clear();
    [OperationContract(IsOneWay = true)]
    void AddTo(double n);
    [OperationContract(IsOneWay = true)]
    void SubtractFrom(double n);
    [OperationContract(IsOneWay = true)]
    void MultiplyBy(double n);
    [OperationContract(IsOneWay = true)]
    void DivideBy(double n);
}


public interface ICalculatorDuplexCallback
{
    [OperationContract(IsOneWay = true)]
    void Equals(double result);
    [OperationContract(IsOneWay = true)]
    void Equation(string eqn);
}

所以我在设想这样的事情:

代码语言:javascript
复制
public interface IAnnouncementServiceDuplex
{
    [OperationContract(IsOneWay = true)]
    void Subscribe(int userId);
}
public interface ICalculatorDuplexCallback
{
    [OperationContract(IsOneWay = true)]
    void SendNotification(AnnouncementData data);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2109932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档