ExcutorBase.cs 940 B

123456789101112131415161718192021222324252627282930
  1. using LJLib.Net.SPI.Com;
  2. using Microsoft.AspNetCore.Mvc;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Threading.Tasks;
  7. namespace LJProxy.LJLib.Net.SPI.Server
  8. {
  9. public abstract class ExcutorBase
  10. {
  11. public abstract IActionResult Excute(ILJRequest request,object state);
  12. }
  13. public abstract class ExcutorBase<T1>:ExcutorBase where T1: class,ILJRequest
  14. {
  15. protected abstract IActionResult ExcuteInternal(T1 request, object state);
  16. public override IActionResult Excute(ILJRequest request, object state)
  17. {
  18. T1 req = request as T1;
  19. if (req == null)
  20. {
  21. ErrResponse err = new ErrResponse(string.Format("request 不能转换成类型[{0}]", typeof(T1).Name));
  22. return new JsonResult(err);
  23. }
  24. var rslt = ExcuteInternal(req, state);
  25. return rslt;
  26. }
  27. }
  28. }