我有一个Asp.Net MVC 5.1网站。我们有3种类型的用户,我想在其中一种类型之间添加对聊天的支持。我想过一些像这样的模特:
public class Conversation
{
public NormalUser A { get; set; }
public NormalUser B { get; set; }
public List<PrivateMessaage> Messages { get; set; }
}
public class PrivateMessaage
{
public NormalUser Sender { get; set; }
public NormalUser Receiver { get; set; }
public string Message { get; set; }
public DateTime Created { get; set; }
}此外,我在项目的其他部分使用SignalR,并认为在SignalR之上添加聊天界面是一个非常好的解决方案。到目前为止一切看起来都很好。但是,我认为每次输入消息时点击数据库插入一个新消息并不是个好主意。我已经创建了许多策略,以实现自定义甜甜圈缓存在我的网站,使每一个页面尽可能快,这似乎会取消他们所有的!这个问题的首选解决方案是什么?我想我可能会采取这样的方法:
第一个问题是,网站可能会崩溃(因为更新、停电、启示录(!)等等)。所有记忆中的信息都会丢失。我可以添加一个自定义的动作来冲洗所有的东西,但是它从来都不是很安全的。由于有很多聊天解决方案,我认为有非常方便的解决方案。
发布于 2014-05-10 00:05:20
如果您不反对使用其他数据库,那么使用Firebase和AngularJS进行实时聊天是非常容易的。
https://stackoverflow.com/questions/23424220
复制相似问题