/// <summary> /// Initializes a new instance of the <see cref="HttpClientServiceBase" /> class. /// </summary> /// <param name="requestFormat">序列化格式</param> public ApiClient( SerializerRequestFormat requestFormat = SerializerRequestFormat.Json, SerializerResponseFormat responseFormat = SerializerResponseFormat.Json) { _requestFormat = requestFormat; _responseFormat = responseFormat; _requestSerializer = this.GetSerialzar(requestFormat); _responseDeserializer = this.GetSerialzar(responseFormat); MediaTypeHeaderValue = GetMediaTypeHeaderValue(requestFormat); MaxResponseContentBufferSize = int.MaxValue; Timeout = TimeSpan.FromSeconds(100); HttpHeader = new Dictionary <string, string>(); }
/// <summary> /// 取得實作序列化的物件 /// </summary> /// <param name="format">序列化的格式</param> /// <returns>實作序列化物件</returns> private ISerializer GetSerialzar(SerializerResponseFormat format) { switch (format) { case SerializerResponseFormat.Json: return(JsonHelper.Instance); case SerializerResponseFormat.Xml: return(XmlHelper.Instance); case SerializerResponseFormat.Ini: return(INIHelper.Instance); case SerializerResponseFormat.None: return(null); default: throw new NotImplementedException("Response Serializer Format Not Implemented."); } }