using System; using System.Collections.Generic; using ETModel; namespace ETHotfix { [MessageHandler(AppType.DB)] public class DBQueryJsonRequestHandler : AMRpcHandler { protected override async void Run(Session session, DBQueryJsonRequest message, Action reply) { DBQueryJsonResponse response = new DBQueryJsonResponse(); try { DBCacheComponent dbCacheComponent = Game.Scene.GetComponent(); List disposers = await dbCacheComponent.GetJson(message.CollectionName, message.Json); response.Disposers = disposers; if (message.NeedCache) { foreach (Component disposer in disposers) { dbCacheComponent.AddToCache(disposer, message.CollectionName); } } reply(response); } catch (Exception e) { ReplyError(response, e, reply); } } } }