Exemplo n.º 1
0
        /// <summary>
        ///     Handles the Removed event of the DistributedMemoryManagerCache control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="KeyCacheEventArgs{TKey}" /> instance containing the event data.</param>
        protected override void DistributedMemoryManagerCache_Removed(object sender, KeyCacheEventArgs <long> e)
        {
            var message = new FieldEntityCacheMessage( );

            message.RemoveKeys.Add(e.Key);

            MessageChannel.Publish(message, PublishOptions.None, false, MergeMessages);
        }
Exemplo n.º 2
0
        /// <summary>
        ///     Handles the Cleared event of the DistributedMemoryManagerCache control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="CacheEventArgs" /> instance containing the event data.</param>
        protected override void DistributedMemoryManagerCache_Cleared(object sender, CacheEventArgs e)
        {
            var message = new FieldEntityCacheMessage
            {
                Clear = true
            };

            MessageChannel.Publish(message, PublishOptions.None, false, MergeMessages);
        }
Exemplo n.º 3
0
            /// <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);
            }
Exemplo n.º 4
0
        /// <summary>
        ///     Handles the Removed event of the DistributedMemoryManagerCache control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="KeyCacheEventArgs{TKey}" /> instance containing the event data.</param>
        protected override void DistributedMemoryManagerCache_Removed(object sender, KeyCacheEventArgs <long> e)
        {
            using (var entityTypeContext = new EntityTypeContext( ))
            {
                HashSet <long> types = entityTypeContext.Get(e.Key);

                var message = new EntityFieldCacheMessage( );
                message.RemoveKeys.Add(SerializableEntityId.Create(e.Key, types));

                MessageChannel.Publish(message, PublishOptions.None, false, MergeMessages);
            }
        }
        /// <summary>
        ///     Clears the caches.
        /// </summary>
        /// <remarks>Note: the cache is only cleared for the current tenant.</remarks>
        public void Clear()
        {
            InternalClear();

            if (MessageChannel != null)
            {
                var message = new PerTenantEntityTypeCacheMessage
                {
                    Clear = true
                };

                message.TenantIds.Add(RequestContext.TenantId);

                MessageChannel.Publish(message, PublishOptions.None, false, MergeMessages);
            }
        }