public TaskService(IFileHelper fileHelper, IJsonSerialize jsonSerialize) { _fileHelper = fileHelper; _jsonSerialize = jsonSerialize; _geometryData = App.Provider.GetRequiredService <GeometryData>(); }
public void Intercept(IInvocation invocation) { Console.WriteLine($"Feign start:{invocation.Method.Name}"); try { if (true) { FeignOptions feignOptions = AppConfig.GetSection <FeignOptions>("Feign"); IJsonSerialize jsonSerialize = AutofacUtil.GetService <IJsonSerialize>(); Console.WriteLine($"Feign arguments:{jsonSerialize.ObjectToJSON(invocation.Arguments)}"); var url = RoutingHelper.GetRouteUrlByInterface(feignOptions.Service.FirstOrDefault(p => p.DllName == invocation.TargetType.Assembly.GetName().Name)?.ServiceName, invocation.Method); Console.WriteLine($"Feign url:{url}"); var apiMethodAttribute = ReflectionHelper.GetSingleAttributeOrDefault <ApiMethodAttribute>(invocation.Method); var paramInfo = invocation.Method.GetParameters(); var parameterType = paramInfo.Select(it => it.ParameterType).ToArray(); var returnType = invocation.Method.ReturnType; IClient client = AutofacUtil.GetService <IClient>(); RequestTemplate requestTemplate = new RequestTemplate(apiMethodAttribute.HttpMethod, url); ResponseTemplate responseTemplate = client.ExecuteAsync(requestTemplate, new System.Threading.CancellationToken()).Result; //throw new Exception(); invocation.ReturnValue = invocation.Arguments[0]; } Console.WriteLine($"Feign end:{invocation.Method.Name} | ReturnValue: Success = {invocation.ReturnValue}"); } catch { invocation.Proceed(); Console.WriteLine($"Feign end:{invocation.Method.Name} | ReturnValue: Fallback = {invocation.ReturnValue}"); } }
static JsonHelper() { JsonSerialize = new NewtonJsonSerialize(); }
public SySession(IJsonSerialize jsonSerialize) { _jsonSerialize = jsonSerialize; }
public Cache(RedisClient cache, IJsonSerialize jsonSerialize) { this._cache = cache; this._jsonSerialize = jsonSerialize; }