代码优化

master
xiaochanghai 1 year ago
parent 38ac50351e
commit 9a93df3a2b
  1. 270
      Tiobon.Core.Common/Extensions/ExpressionExtensions_Nacos.cs
  2. 1
      Tiobon.Core.Common/Tiobon.Core.Common.csproj
  3. 2
      Tiobon.Core.Gateway/Extensions/CustomOcelotSetup.cs

@ -13,140 +13,140 @@ namespace Tiobon.Core.Common.Helper
/// </summary> /// </summary>
public static class ExpressionExtensions_Nacos public static class ExpressionExtensions_Nacos
{ {
#region Nacos NamingService //#region Nacos NamingService
private static string GetServiceUrl(Nacos.V2.INacosNamingService serv, string ServiceName, string Group, //private static string GetServiceUrl(Nacos.V2.INacosNamingService serv, string ServiceName, string Group,
string apiurl) // string apiurl)
{ //{
try // try
{ // {
var instance = serv.SelectOneHealthyInstance(ServiceName, Group).GetAwaiter().GetResult(); // var instance = serv.SelectOneHealthyInstance(ServiceName, Group).GetAwaiter().GetResult();
var host = $"{instance.Ip}:{instance.Port}"; // var host = $"{instance.Ip}:{instance.Port}";
if (instance.Metadata.ContainsKey("endpoint")) host = instance.Metadata["endpoint"]; // if (instance.Metadata.ContainsKey("endpoint")) host = instance.Metadata["endpoint"];
var baseUrl = instance.Metadata.TryGetValue("secure", out _) // var baseUrl = instance.Metadata.TryGetValue("secure", out _)
? $"https://{host}" // ? $"https://{host}"
: $"http://{host}"; // : $"http://{host}";
if (string.IsNullOrWhiteSpace(baseUrl)) // if (string.IsNullOrWhiteSpace(baseUrl))
{ // {
return ""; // return "";
} // }
return $"{baseUrl}{apiurl}"; // return $"{baseUrl}{apiurl}";
} // }
catch (Exception e) // catch (Exception e)
{ // {
Console.WriteLine(e.Message); // Console.WriteLine(e.Message);
} // }
return ""; // return "";
} //}
public static async Task<string> Cof_NaoceGet(this Nacos.V2.INacosNamingService serv, string ServiceName, //public static async Task<string> Cof_NaoceGet(this Nacos.V2.INacosNamingService serv, string ServiceName,
string Group, string apiurl, Dictionary<string, string> Parameters = null) // string Group, string apiurl, Dictionary<string, string> Parameters = null)
{ //{
try // try
{ // {
var url = GetServiceUrl(serv, ServiceName, Group, apiurl); // var url = GetServiceUrl(serv, ServiceName, Group, apiurl);
if (string.IsNullOrEmpty(url)) return ""; // if (string.IsNullOrEmpty(url)) return "";
if (Parameters != null && Parameters.Any()) // if (Parameters != null && Parameters.Any())
{ // {
StringBuilder sb = new StringBuilder(); // StringBuilder sb = new StringBuilder();
foreach (var pitem in Parameters) // foreach (var pitem in Parameters)
{ // {
sb.Append($"{pitem.Key}={pitem.Value}&"); // sb.Append($"{pitem.Key}={pitem.Value}&");
} // }
url = $"{url}?{sb.ToString().Trim('&')}"; // url = $"{url}?{sb.ToString().Trim('&')}";
} // }
HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add( // HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json")); // new MediaTypeWithQualityHeaderValue("application/json"));
var result = await HttpHelper.Httpclient.GetAsync(url); // var result = await HttpHelper.Httpclient.GetAsync(url);
return await result.Content.ReadAsStringAsync(); // return await result.Content.ReadAsStringAsync();
} // }
catch (Exception e) // catch (Exception e)
{ // {
Console.WriteLine(e.Message); // Console.WriteLine(e.Message);
} // }
return ""; // return "";
} //}
public static async Task<string> Cof_NaocePostForm(this Nacos.V2.INacosNamingService serv, string ServiceName, //public static async Task<string> Cof_NaocePostForm(this Nacos.V2.INacosNamingService serv, string ServiceName,
string Group, string apiurl, Dictionary<string, string> Parameters) // string Group, string apiurl, Dictionary<string, string> Parameters)
{ //{
try // try
{ // {
var url = GetServiceUrl(serv, ServiceName, Group, apiurl); // var url = GetServiceUrl(serv, ServiceName, Group, apiurl);
if (string.IsNullOrEmpty(url)) return ""; // if (string.IsNullOrEmpty(url)) return "";
var content = (Parameters != null && Parameters.Any()) ? new FormUrlEncodedContent(Parameters) : null; // var content = (Parameters != null && Parameters.Any()) ? new FormUrlEncodedContent(Parameters) : null;
HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var result = await HttpHelper.Httpclient.PostAsync(url, content); // var result = await HttpHelper.Httpclient.PostAsync(url, content);
return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult(); // return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult();
} // }
catch (Exception e) // catch (Exception e)
{ // {
Console.WriteLine(e.Message); // Console.WriteLine(e.Message);
} // }
return ""; // return "";
} //}
public static async Task<string> Cof_NaocePostJson(this Nacos.V2.INacosNamingService serv, string ServiceName, //public static async Task<string> Cof_NaocePostJson(this Nacos.V2.INacosNamingService serv, string ServiceName,
string Group, string apiurl, string jSonData) // string Group, string apiurl, string jSonData)
{ //{
try // try
{ // {
var url = GetServiceUrl(serv, ServiceName, Group, apiurl); // var url = GetServiceUrl(serv, ServiceName, Group, apiurl);
if (string.IsNullOrEmpty(url)) return ""; // if (string.IsNullOrEmpty(url)) return "";
HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var result = // var result =
await HttpHelper.Httpclient.PostAsync(url, new StringContent(jSonData, Encoding.UTF8, "application/json")); // await HttpHelper.Httpclient.PostAsync(url, new StringContent(jSonData, Encoding.UTF8, "application/json"));
return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult(); // return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult();
//httpClient.BaseAddress = new Uri("https://www.testapi.com"); // //httpClient.BaseAddress = new Uri("https://www.testapi.com");
//httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // //httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); // //httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
} // }
catch (Exception e) // catch (Exception e)
{ // {
Console.WriteLine(e.Message); // Console.WriteLine(e.Message);
} // }
return ""; // return "";
} //}
public static async Task<string> Cof_NaocePostFile(this Nacos.V2.INacosNamingService serv, string ServiceName, //public static async Task<string> Cof_NaocePostFile(this Nacos.V2.INacosNamingService serv, string ServiceName,
string Group, string apiurl, Dictionary<string, byte[]> Parameters) // string Group, string apiurl, Dictionary<string, byte[]> Parameters)
{ //{
try // try
{ // {
var url = GetServiceUrl(serv, ServiceName, Group, apiurl); // var url = GetServiceUrl(serv, ServiceName, Group, apiurl);
if (string.IsNullOrEmpty(url)) return ""; // if (string.IsNullOrEmpty(url)) return "";
var content = new MultipartFormDataContent(); // var content = new MultipartFormDataContent();
foreach (var pitem in Parameters) // foreach (var pitem in Parameters)
{ // {
content.Add(new ByteArrayContent(pitem.Value), "files", pitem.Key); // content.Add(new ByteArrayContent(pitem.Value), "files", pitem.Key);
} // }
HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // HttpHelper.Httpclient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var result = await HttpHelper.Httpclient.PostAsync(url, content); // var result = await HttpHelper.Httpclient.PostAsync(url, content);
return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult(); // return await result.Content.ReadAsStringAsync(); //.GetAwaiter().GetResult();
} // }
catch (Exception e) // catch (Exception e)
{ // {
//InfluxdbHelper.GetInstance().AddLog("Cof_NaocePostFile.Err", ee); // //InfluxdbHelper.GetInstance().AddLog("Cof_NaocePostFile.Err", ee);
Console.WriteLine(e.Message); // Console.WriteLine(e.Message);
} // }
return ""; // return "";
} //}
#endregion //#endregion
} }
} }

@ -43,7 +43,6 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Tiobon.Core.Model\Tiobon.Core.Model.csproj" /> <ProjectReference Include="..\Tiobon.Core.Model\Tiobon.Core.Model.csproj" />
<ProjectReference Include="..\Tiobon.Core.Serilog.Es\Tiobon.Core.Serilog.Es.csproj" /> <ProjectReference Include="..\Tiobon.Core.Serilog.Es\Tiobon.Core.Serilog.Es.csproj" />
<ProjectReference Include="..\Ocelot.Provider.Nacos\Ocelot.Provider.Nacos.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Ocelot.DependencyInjection; using Ocelot.DependencyInjection;
using Ocelot.Middleware; using Ocelot.Middleware;
using Ocelot.Provider.Nacos; //using Ocelot.Provider.Nacos;
using Ocelot.Provider.Polly; using Ocelot.Provider.Polly;
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;

Loading…
Cancel
Save