Пример #1
0
        public TaskService(IFileHelper fileHelper, IJsonSerialize jsonSerialize)
        {
            _fileHelper    = fileHelper;
            _jsonSerialize = jsonSerialize;

            _geometryData = App.Provider.GetRequiredService <GeometryData>();
        }
Пример #2
0
        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}");
            }
        }
Пример #3
0
 static JsonHelper()
 {
     JsonSerialize = new NewtonJsonSerialize();
 }
Пример #4
0
 public SySession(IJsonSerialize jsonSerialize)
 {
     _jsonSerialize = jsonSerialize;
 }
Пример #5
0
 public Cache(RedisClient cache,
              IJsonSerialize jsonSerialize)
 {
     this._cache         = cache;
     this._jsonSerialize = jsonSerialize;
 }