我目前正在使用ASP.NET Boilerplate模式,它的效果很好。我能够毫无问题地发送通知。
我现在遇到的问题是发送很多通知。有什么方法可以并行执行ABP通知,或者有什么建议可以使其更快地执行?
任何帮助将不胜感激。
// AppNotifier.cs
public void ContactTransferred(long userId)
{
var notificationData = new Abp.Notifications.NotificationData();
_notificationPublisher.Publish(
AppNotificationNames.ContactTransferredAlert,
notificationData,
severity: NotificationSeverity.Info,
userIds: new long[] { userId }
);
}
// Usage
private readonly IAppNotifier _appNotifier;
foreach (Contact c in cList) // cList has 2000+ count
{
_appNotifier.ContactTransferred(c.Id);
}
答案 0 :(得分:1)
你为什么不喜欢这个
// AppNotifier.cs
public void ContactTransferred(long[] userIdList)
{
var notificationData = new Abp.Notifications.NotificationData();
_notificationPublisher.Publish(
AppNotificationNames.ContactTransferredAlert,
notificationData,
severity: NotificationSeverity.Info,
userIds: userIdList
);
}
// Usage
private readonly IAppNotifier _appNotifier;
var contactIdList = cList.Select(c=>c.Id).ToArray();
_appNotifier.ContactTransferred(contactIdList );