コード例 #1
0
        /// <summary>
        /// Add Path
        /// </summary>
        /// <param name="Path">请求地址</param>
        /// <param name="Type">请求类型</param>
        /// <param name="UseCache">使用缓存</param>
        /// <param name="Weight">1~100区间</param>
        /// <returns></returns>
        public INode AddNode(string Path, RequestType Type = RequestType.GET, bool UseCache = false, int Weight = 50)
        {
            WeightURL WeightUri = new WeightURL
            {
                Weight   = Weight,
                URL      = new Uri(Path),
                Request  = Type,
                UseCache = UseCache
            };

            HttpMultiClientWare.WeightPath.Add(WeightUri);
            return(HttpMultiClientWare.Nodes);
        }
コード例 #2
0
        /// <summary>
        /// Add Path
        /// </summary>
        /// <param name="Path"></param>
        /// <param name="Param"></param>
        ///  <param name="Type">请求类型</param>
        /// <param name="UseCache">使用缓存</param>
        /// <param name="Weight"></param>
        /// <returns></returns>
        public INode AddNode(string Path, string Param, RequestType Type = RequestType.GET, bool UseCache = false, int Weight = 50)
        {
            WeightURL WeightUri = new WeightURL
            {
                Weight          = Weight,
                URL             = new Uri(Path),
                Request         = Type,
                UseCache        = UseCache,
                Contents        = new StringContent(Param),
                MediaTypeHeader = new MediaTypeHeaderValue("application/json")
            };

            HttpMultiClientWare.WeightPath.Add(WeightUri);
            return(HttpMultiClientWare.Nodes);
        }
コード例 #3
0
 /// <summary>
 /// Add Path
 /// </summary>
 /// <param name="Path"></param>
 /// <param name="Param"></param>
 /// <param name="Type">请求类型</param>
 /// <param name="UseCache">使用缓存</param>
 /// <param name="Weight">1~100区间</param>
 /// <returns></returns>
 public INode AddNode(string Path, List <KeyValuePair <String, String> > Param, RequestType Type = RequestType.GET, bool UseCache = false, int Weight = 50)
 {
     return(XPlus.XPlus.XTry(() =>
     {
         WeightURL WeightUri = new WeightURL
         {
             Weight = Weight,
             URL = new Uri(Path),
             Request = Type,
             Contents = new FormUrlEncodedContent(Param),
             UseCache = UseCache,
             MediaTypeHeader = new MediaTypeHeaderValue("application/x-www-form-urlencoded")
         };
         HttpMultiClientWare.WeightPath.Add(WeightUri);
         return HttpMultiClientWare.Nodes;
     }, (Ex) => throw new Exception("The parameter type is incorrect. The parameter can only be a solid model.")));
 }
コード例 #4
0
 /// <summary>
 /// Add Path
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="Path"></param>
 /// <param name="Param">实体模型</param>
 /// <param name="MapFied">映射字段</param>
 ///  <param name="Type">请求类型</param>
 /// <param name="UseCache">使用缓存</param>
 /// <param name="Weight">1~100区间</param>
 /// <returns></returns>
 public INode AddNode <T>(string Path, T Param, IDictionary <string, string> MapFied = null, RequestType Type = RequestType.GET, bool UseCache = false, int Weight = 50) where T : class, new()
 {
     return(XPlus.XPlus.XTry(() =>
     {
         WeightURL WeightUri = new WeightURL
         {
             Weight = Weight,
             URL = new Uri(Path),
             Request = Type,
             UseCache = UseCache,
             Contents = new FormUrlEncodedContent(HttpKeyPairs.KeyValuePairs(Param, MapFied)),
             MediaTypeHeader = new MediaTypeHeaderValue("application/x-www-form-urlencoded")
         };
         HttpMultiClientWare.WeightPath.Add(WeightUri);
         return HttpMultiClientWare.Nodes;
     }, (Ex) => throw new Exception("The parameter type is incorrect. The parameter can only be a solid model.")));
 }
コード例 #5
0
ファイル: Builder.cs プロジェクト: EmilyEdna/XExten
 /// <summary>
 /// 请求
 /// </summary>
 /// <param name="Item"></param>
 /// <returns></returns>
 private Byte[] RequestBytes(WeightURL Item)
 {
     if (Item.Request == RequestType.GET)
     {
         return(HttpMultiClientWare.FactoryClient.GetAsync(Item.URL).Result.Content.ReadAsByteArrayAsync().Result);
     }
     else if (Item.Request == RequestType.DELETE)
     {
         return(HttpMultiClientWare.FactoryClient.DeleteAsync(Item.URL).Result.Content.ReadAsByteArrayAsync().Result);
     }
     else if (Item.Request == RequestType.POST)
     {
         return(HttpMultiClientWare.FactoryClient.PostAsync(Item.URL, Item.Contents).Result.Content.ReadAsByteArrayAsync().Result);
     }
     else
     {
         return(HttpMultiClientWare.FactoryClient.PutAsync(Item.URL, Item.Contents).Result.Content.ReadAsByteArrayAsync().Result);
     }
 }