Ejemplo n.º 1
0
        /// <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>();
        }
Ejemplo n.º 2
0
        /// <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.");
            }
        }