示例#1
0
        public async Task <T> ExecuteAsync <T>(RequestBase requestBase) where T : OneNetResponse, new()
        {
            var request = requestBase.BuildHttpRequestMessage();
            var header  = await _tokenService.AssembleToken(requestBase.OnenetOptions);

            request.Headers.Add(header.Key, header.Value);
            var httpResponse = await _httpClient.SendAsync(request);

            if (httpResponse.IsSuccessStatusCode)
            {
                if (typeof(T).IsSubclassOf(typeof(ByteArrayResponse)))
                {
                    ByteArrayResponse byteArrayResponse = new ByteArrayResponse
                    {
                        Errno = 0,
                        Error = "byte数据",
                        Data  = await httpResponse.Content.ReadAsByteArrayAsync()
                    };
                    return((T)(object)byteArrayResponse);
                }
                string content = await httpResponse.Content.ReadAsStringAsync();

                T result = SerializationHelper.DeserializeObject <T>(content);
                return(result);
            }
            else
            {
                return(new T {
                    Errno = 1, Error = $"StatusCode:{httpResponse.StatusCode} ReasonPhrase: {httpResponse.ReasonPhrase}"
                });
            }
        }
        public ByteArrayResponse GetSystemUsersCompressedList(AliasType type)
        {
            ByteArrayResponse r = new ByteArrayResponse();

            r.IsSucceded = true;
            r.Value      = System.IO.File.ReadAllBytes(".\\Uyumsoft\\MockData\\UserPkList.zip");
            return(r);
        }