httpclient C#
// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
static readonly HttpClient client = new HttpClient();
static async Task Main()
{
// Call asynchronous network methods in a try/catch block to handle exceptions.
try
{
HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
// Above three lines can be replaced with new helper method below
// string responseBody = await client.GetStringAsync(uri);
Console.WriteLine(responseBody);
}
catch(HttpRequestException e)
{
Console.WriteLine("\nException Caught!");
Console.WriteLine("Message :{0} ",e.Message);
}
}
0
6
//example code
//var lst = await service.ConnectHttpClient<User, List<User>>("api/User/GetUserInfoByUserId", new User() { UserId = 1 });
//var lst = await service.ConnectRestClient<User, List<User>>("api/User/GetUserInfoByUserId", new User() { UserId = 1 });
public async Task<M> ConnectHttpClient<R, M>(string apiUrl, R reqModel)
{
M model = default(M);
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(baseUrl);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await client.PostAsJsonAsync(apiUrl, reqModel);
if (response.IsSuccessStatusCode)
{
var res = response.Content.ReadAsStringAsync().Result;
model = JsonConvert.DeserializeObject<M>(res);
}
return model;
}
public async Task<M> ConnectRestClient<R, M>(string apiUrl, R reqModel)
{
M model = default(M);
RestClient restClient = new RestClient(baseUrl);
RestRequest restRequest = new RestRequest(apiUrl, Method.POST, DataFormat.Json);
restRequest.AddJsonBody(reqModel);
IRestResponse restResponse = await restClient.ExecuteAsync(restRequest);
if (restResponse.IsSuccessful)
{
string response = restResponse.Content;
model = JsonConvert.DeserializeObject<M>(response);
}
return model;
}
Thank you!
6
0
Are there any code examples left?
New code examples in category C#