DBQueryRequestHandler.cs 794 B

1234567891011121314151617181920212223242526272829303132
  1. using System;
  2. using ETModel;
  3. namespace ETHotfix
  4. {
  5. [MessageHandler(AppType.DB)]
  6. public class DBQueryRequestHandler : AMRpcHandler<DBQueryRequest, DBQueryResponse>
  7. {
  8. protected override async void Run(Session session, DBQueryRequest message, Action<DBQueryResponse> reply)
  9. {
  10. DBQueryResponse response = new DBQueryResponse();
  11. try
  12. {
  13. DBCacheComponent dbCacheComponent = Game.Scene.GetComponent<DBCacheComponent>();
  14. Component component = await dbCacheComponent.Get(message.CollectionName, message.Id);
  15. response.Component = component;
  16. if (message.NeedCache && component != null)
  17. {
  18. dbCacheComponent.AddToCache(component, message.CollectionName);
  19. }
  20. reply(response);
  21. }
  22. catch (Exception e)
  23. {
  24. ReplyError(response, e, reply);
  25. }
  26. }
  27. }
  28. }