Exemplo n.º 1
0
        /// <summary>
        /// Processes the specified StringHash query.
        /// </summary>
        /// <param name="stringHashQuery">The string hash query.</param>
        /// <param name="messageContext">The message context.</param>
        /// <param name="storeContext">The store context.</param>
        /// <returns>StringHashQueryResult</returns>
        internal static StringHashQueryResult Process(StringHashQuery stringHashQuery, MessageContext messageContext, IndexStoreContext storeContext)
        {
            StringHashQueryResult stringHashQueryResult;

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

            try
            {
                typeExists            = storeContext.StringHashCollection.TryGetStringNames(messageContext.TypeId, out stringNames);
                stringHashQueryResult = new StringHashQueryResult
                {
                    TypeExists  = typeExists,
                    StringNames = stringNames
                };
            }
            catch (Exception ex)
            {
                stringHashQueryResult = new StringHashQueryResult
                {
                    TypeExists    = typeExists,
                    StringNames   = stringNames,
                    ExceptionInfo = ex.Message
                };
                LoggingUtil.Log.ErrorFormat("TypeId {0} -- Error processing StringHashQuery : {1}", messageContext.TypeId, ex);
            }
            return(stringHashQueryResult);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Processes the StringHashQuery.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="messageContext">The message context.</param>
        private void ProcessStringHashQuery(RelayMessage message, MessageContext messageContext)
        {
            StringHashQueryResult stringHashQueryResult = StringHashQueryProcessor.Process(message.GetQueryObject <StringHashQuery>(), messageContext, storeContext);
            bool compressOption = storeContext.GetCompressOption(message.TypeId);

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