足力健后端,使用.netcore版本,合并1个项目使用

PermissionService.cs 1.5KB

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