Configure HttpClient

private static HttpClient httpClient = new HttpClient
{
BaseAddress = new Uri(ConfigManager.ConfigurationInstant.ApiBaseAuthUri)
};

private static HttpClient client = new HttpClient
{
BaseAddress = new Uri(ConfigManager.ConfigurationInstant.ApiBaseUri)
};

Create new user

private static async Task<ApiAsyncResult> CreateNewUser(string userName, string password, string confirmPassword)
{
var result = new ApiAsyncResult();

httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

try
{
var formContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("email", userName),
new KeyValuePair<string, string>("password", password),
new KeyValuePair<string, string>("confirmPassword", confirmPassword)
});

using (HttpResponseMessage response = await httpClient.PostAsync("/Account/Register", formContent))
{
using (HttpContent content = response.Content)
{
string resultString = await content.ReadAsStringAsync();
string reasonPhrase = response.ReasonPhrase;
HttpResponseHeaders headers = response.Headers;
HttpStatusCode code = response.StatusCode;

result.Result = resultString;
result.ReasonPhrase = reasonPhrase;
result.Headers = headers;
result.Code = code;
}
}
}
catch (Exception ex)
{
result.ErrorMessage = ex.Message;
}

return result;
}

ApiAsyncResult.cs

public class ApiAsyncResult
{
public string Result { get; set; }
public string ReasonPhrase { get; set; }
public HttpResponseHeaders Headers { get; set; }
public HttpStatusCode Code { get; set; }
public string ErrorMessage { get; set; }
}