颐和api

PermissionService.cs 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System.Net.Http;
  2. using System.Threading.Tasks;
  3. using Microsoft.Extensions.Logging;
  4. using Pivotal.Discovery.Client;
  5. namespace Api.SignToken
  6. {
  7. public class PermissionService : IPermissionService
  8. {
  9. DiscoveryHttpClientHandler _handler;
  10. ILogger<PermissionService> _logger;
  11. /// <summary>
  12. /// 获取所有权限信息的URL
  13. /// </summary>
  14. private const string PERMISSION_URL = "http://signtokenapi/api/values/getpermission";
  15. public PermissionService(IDiscoveryClient client, ILoggerFactory logFactory)
  16. {
  17. _handler = new DiscoveryHttpClientHandler(client, logFactory.CreateLogger<DiscoveryHttpClientHandler>());
  18. _logger = logFactory.CreateLogger<PermissionService>();
  19. }
  20. public async Task<string> GetPermissionAsync()
  21. {
  22. var client = GetClient();
  23. var result = await client.GetStringAsync(PERMISSION_URL);
  24. _logger.LogInformation("返回的权限信息为: {0}", result);
  25. return result;
  26. }
  27. public string GetPermission()
  28. {
  29. var client = GetClient();
  30. var result = client.GetStringAsync(PERMISSION_URL).Result;
  31. _logger.LogInformation("返回的权限信息为: {0}", result);
  32. return result;
  33. }
  34. private HttpClient GetClient()
  35. {
  36. var client = new HttpClient(_handler, false);
  37. return client;
  38. }
  39. }
  40. }