我需要像FB一样进行通知功能。如果有人将新对象添加到系统中,我想将通知表中的条目放入所有用户,如“Tom添加了新对象”。信息。但它不会影响性能。
考虑Tom要在系统中添加新对象:
你能否提出你的想法来解决这个问题?
注意:我尝试过asyn操作。但在某些情况下它不会起作用。当我等到该过程完成时,异步非常有效。
答案 0 :(得分:1)
如果你想在不阻止你的请求的情况下完成运行后台任务这样的事情,你可能需要在 System.Web.Hosting 中使用下面的内容,即使在响应之后,它也会将你的代码作为后台任务运行发送,只要这些仍在运行,IIS就不会突然终止您的工作进程:
HostingEnvironment.QueueBackgroundWorkItem(cancellationToken =>
{
// your code here that puts the entry in Notification table
});
但如果您的目的是仅在所有用户之间发送通知,则可以使用Signalr(https://www.asp.net/signalr)