DBQueryJsonRequestHandler.cs 904 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using System.Collections.Generic;
  3. using Model;
  4. namespace Hotfix
  5. {
  6. [MessageHandler(AppType.DB)]
  7. public class DBQueryJsonRequestHandler : AMRpcHandler<DBQueryJsonRequest, DBQueryJsonResponse>
  8. {
  9. protected override async void Run(Session session, DBQueryJsonRequest message, Action<DBQueryJsonResponse> reply)
  10. {
  11. DBQueryJsonResponse response = new DBQueryJsonResponse();
  12. try
  13. {
  14. DBCacheComponent dbCacheComponent = Game.Scene.GetComponent<DBCacheComponent>();
  15. List<Component> disposers = await dbCacheComponent.GetJson(message.CollectionName, message.Json);
  16. response.Disposers = disposers;
  17. if (message.NeedCache)
  18. {
  19. foreach (Component disposer in disposers)
  20. {
  21. dbCacheComponent.AddToCache(disposer, message.CollectionName);
  22. }
  23. }
  24. reply(response);
  25. }
  26. catch (Exception e)
  27. {
  28. ReplyError(response, e, reply);
  29. }
  30. }
  31. }
  32. }