Here's how you can do it using HttpClient
:
Web API
public HttpResponseMessage Get()
{
HttpResponseMessage response;
var students = _starterKitUnitOfWork.StudentRepository.Get();
if (students == null)
{
response = new HttpResponseMessage(HttpStatusCode.NotFound);
}
else
{
response = Request.CreateResponse(HttpStatusCode.OK, students);
response.Content.Headers.Expires = new DateTimeOffset(DateTime.Now.AddSeconds(300));
}
return response;
}
MVC Client:
public async Task<IEnumerable<Student>> GetStudents()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(ConfigurationManager.AppSettings["BaseAddress"]);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.GetAsync("student").ConfigureAwait(false);
var statusCode = response.StatusCode; //HERE IT IS
return response.Content.ReadAsAsync<IEnumerable<Student>>().Result;
}
}