Как выполнять ABP-уведомления параллельно? - PullRequest
0 голосов
/ 15 января 2019

В настоящее время я использую шаблон 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);
}

1 Ответ

0 голосов
/ 15 января 2019

Почему ты так не делаешь

// 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 );
...