Esempio n. 1
0
        /// <summary>
        /// Processes the specified tag query.
        /// </summary>
        /// <param name="tagQuery">The tag query.</param>
        /// <param name="messageContext">The message context.</param>
        /// <param name="storeContext">The store context.</param>
        /// <returns>TagQueryResult</returns>
        internal static TagQueryResult Process(TagQuery tagQuery, MessageContext messageContext, IndexStoreContext storeContext)
        {
            TagQueryResult tagQueryResult;

            string[] tagNames   = null;
            bool     typeExists = false;

            try
            {
                typeExists     = storeContext.TagHashCollection.TryGetTagNames(messageContext.TypeId, out tagNames);
                tagQueryResult = new TagQueryResult
                {
                    TypeExists = typeExists,
                    TagNames   = tagNames
                };
            }
            catch (Exception ex)
            {
                tagQueryResult = new TagQueryResult
                {
                    TypeExists    = typeExists,
                    TagNames      = tagNames,
                    ExceptionInfo = ex.Message
                };
                LoggingUtil.Log.ErrorFormat("TypeId {0} -- Error processing TagQuery : {1}", messageContext.TypeId, ex);
            }
            return(tagQueryResult);
        }
Esempio n. 2
0
        /// <summary>
        /// Processes the TagQuery.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="messageContext">The message context.</param>
        private void ProcessTagQuery(RelayMessage message, MessageContext messageContext)
        {
            TagQueryResult tagQueryResult = TagQueryProcessor.Process(message.GetQueryObject <TagQuery>(), messageContext, storeContext);
            bool           compressOption = storeContext.GetCompressOption(message.TypeId);

            message.Payload = new RelayPayload(message.TypeId,
                                               message.Id,
                                               Serializer.Serialize(tagQueryResult, compressOption),
                                               compressOption);
        }