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