Asp.net mvc asp.net mvc应用程序中的通知

Asp.net mvc asp.net mvc应用程序中的通知,asp.net-mvc,architecture,notifications,Asp.net Mvc,Architecture,Notifications,我们有几个事件应该触发对用户的通知。 每次有人在墙上留言。 每次他们赢得奖杯。 等等 因此,通知存储在数据库中,但实际上与任何其他模型都没有关系。只是一个html字符串,真的 除了创建评论或奖杯后控制器中明显的“立即创建通知”角度之外,还有什么推荐的处理方法吗?您可以创建一个ActionFilter来为您执行该检查。ActionFilters是AOP风格的方法,用于在操作执行之前/之后执行操作。经典的例子是日志记录:假设您想在每个操作之前/之后进行日志记录,但要编写log();不是每个地方都很干

我们有几个事件应该触发对用户的通知。 每次有人在墙上留言。 每次他们赢得奖杯。 等等

因此,通知存储在数据库中,但实际上与任何其他模型都没有关系。只是一个html字符串,真的


除了创建评论或奖杯后控制器中明显的“立即创建通知”角度之外,还有什么推荐的处理方法吗?

您可以创建一个ActionFilter来为您执行该检查。ActionFilters是AOP风格的方法,用于在操作执行之前/之后执行操作。经典的例子是日志记录:假设您想在每个操作之前/之后进行日志记录,但要编写log();不是每个地方都很干燥。因此,您可以创建日志操作筛选器。请参阅以获取一个好的示例。

您有两种不同类型的通知,一种是用户触发的,另一种是其他人触发的

如果您希望在有人在您的墙上发布帖子时进行实时更新,并且您不希望用户必须刷新才能看到通知图标/消息/任何内容,那么您有几个选项

第一种选择是使用AJAX进行客户端轮询。您可以很容易地实现这一点,这是一种经过充分验证的技术,但由于不断轮询网站以检查新通知,您会有一点开销。还有其他一些解决方案,虽然没有明确使用AJAX,但它们的工作原理是相同的

另一个解决方案,我建议你看看,将是新兴的websockets协议,它已经在许多浏览器中实现。这允许实时通知返回到客户端,而无需不断轮询。有很多服务,例如,可以为您处理大部分繁重的工作,因此您可以使用对服务的简单调用和客户端上的脚本轻松地实现消息


注:实时=信息仍然相关的足够短的时间段

使用ASP.NET后端检查SignalR jQuery库


关于它

这听起来很酷,但你能给我举一个关于如何做类似事情的小例子吗?编辑。很抱歉,最初的回复相当稀疏。还没有咖啡。如果其他人在你的墙上发表评论,你如何使用此方法提醒用户?在用户收到通知之前,您需要用户在站点上执行其他操作。你肯定想在他们发表评论时发生,一个洛杉矶的facebook?我的问题主要是关于AOP创建通知的方式。。。为了通知用户,我将使用ajax。但是谢谢!谢谢你的建议!我会检查它,看看我是否可以让用户知道的通知,一旦它被创建!。。我的问题主要是如何以AOP的方式处理它们的创建,真的。。。我仍然不清楚,但会尝试使用ActionFilters:)