首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >面向用户的通知系统架构

面向用户的通知系统架构
EN

Stack Overflow用户
提问于 2012-03-05 14:09:46
回答 3查看 743关注 0票数 1

我正在为需要能够在管理员登录时接收通知的用户编写一个web应用程序。这些告示应显示在仪表盘上。

一旦用户阅读了一条消息,他们就可以拒绝它。显然,在创建新用户之前,不应该显示消息。

在设计模式时,我遇到了两个问题:

  1. 如何识别用户“拒绝”消息?
  2. 如何只在消息创建后才看到消息?

以下是用于通知的表:

代码语言:javascript
复制
CREATE TABLE [dbo].[Notification] 
(
  [Id] [int] IDENTITY(1,1) NOT NULL,
  [Message] [varchar](max) NOT NULL,
  [DateCreated] [datetime] NOT NULL,
  [CreatedById] [int] NOT NULL
)

对于#1,我正在考虑创建一个表(DismissedNotification_User),该表将映射到Notification.IdUser.Id之间。如果存在一对,则用户拒绝该通知。但是,我不确定这是否是最好的方法(not inleft join)?

对于#2,我看到的最简单的方法是向用户添加一个DateCreated列,并在#1 (where [DateCreated] >= [User].DateCreated)中添加一个条件。

我不想涉及到cookie,因为这确实给应用程序增加了不必要的重量。

EN

Stack Overflow用户

回答已采纳

发布于 2012-03-05 14:26:55

我想说的是,您自己在这里为#1和#2提供的解决方案似乎还不错。

表示“拒绝”通知的链接表是有意义的,否则您最终必须先为每个用户创建一行,以表示通知,而不是一个通知记录。

我认为对于#2来说,为通知和用户创建一个创建日期也是一个明智的选择。如果您依赖于链接表的选项,则使用“dismissed”列的其他建议将不能使您只在创建用户之后显示通知,因为您将得到所有通知,而不仅仅是那些自用户存在以来的通知。

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9568026

复制
相关文章

相似问题

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