/// <summary> /// Invalidates the specified user from the cache. /// </summary> /// <param name="username"> /// Username to be removed from the cache. /// </param> public void CacheEntryInvalidate(string username) { CacheEntryInvalidateInternal(username); var message = new UserAccountCacheMessage { TenantName = Tenant.Name }; message.Usernames.Add(username); MessageChannel.Publish(message, PublishOptions.None, false, MergeMessages); }
/// <summary> /// Merges the messages. /// </summary> /// <param name="existingMessage">The existing message.</param> /// <param name="newMessage">The new message.</param> private void MergeMessages(UserAccountCacheMessage existingMessage, UserAccountCacheMessage newMessage) { existingMessage.Usernames.UnionWith(newMessage.Usernames); }