【发布时间】:2017-11-23 13:56:43
【问题描述】:
我正在开发一个使用带有 SignalR 的 ASP .NET MVC 的实时通知系统。
我的应用有这样的三层:
我的所有应用程序方法都已构建并正在运行,我目前正在使用 SignalR 添加通知系统。
我面临的问题是我需要修改每个可能暗示发送通知的方法以返回要通知的用户数组,该数组可能为空(因为该操作可能会关闭通知) .
SignalR 集线器安装在 MVC 层中,因此我无法从业务逻辑层 (BAL) 调用它。我知道我可以使用 SQL Dependencies 以干净的方式解决它,但这不是一个选项。
一个例子是(伪代码):
Controler.cs(无通知)
AddComent(Comment){
int error = BALComments.AddComment(Comment);
return View();
}
Controler.cs(带有通知)
AddComent(Comment){
NotificationHub notifHub;
int error = BALComments.AddComment(Comment,UserArray);
notifHub.notify(UserArray);
return View();
}
问题是如何修改我的业务逻辑层中的每个“可通知”方法,而不显式更改每个方法以返回可选的用户数组列表。
【问题讨论】:
标签: asp.net-mvc design-patterns notifications signalr