WebAPI Put gibt HTTPResponseMessage null zurück

Ich muss eine einfache Bearbeitungsfunktion implementieren. Ich verwende den Webapi-Dienst, um mein Testobjekt zu aktualisieren. Ich rufe die folgende Methode von der Controller-Post-Anfrage auf.

Dies ist der Controller, der eine Methode in Testaufrufen aufruft, die den Put-Dienst aufrufen.

public ActionResult TestEdit(Test test)
{
  if (ModelState.IsValid)
  {
    // objTest is returned null
    HttpResponseMessage objtest = TestDatabaseService.TestEdit(test.testID, test);
  }
}

// Method which calls put service testDataService
public HttpResponseMessage TestEdit(int id, Test test)**
{
   string uri = baseUri + "Test/" + id;
   using (HttpClient httpClient = new HttpClient())
   {
      Task<HttpResponseMessage> response = httpClient.PutAsJsonAsync<Test>(uri, application);
            return response.Result;
   }
}

// The webapi service put method 
public HttpResponseMessage PutTest(int id, Test test)
{
  if (ModelState.IsValid && id == test).testID)
  {
    db.Entry(test)).State = EntityState.Modified;

    try
    {
      db.SaveChanges();
    }
    catch (DbUpdateConcurrencyException)
    {
      return Request.CreateResponse(HttpStatusCode.NotFound); 
    }

    // The status code is set to indicate the save is success
    return Request.CreateResponse(HttpStatusCode.OK); 
  }
  else
  {
    // If save failed
    return Request.CreateResponse(HttpStatusCode.BadRequest); 
  }
}

. öffentliche Anwendung TestCreate (Test test) {string uri = baseUri + "Test"; using (HttpClient httpClient = new HttpClient ()) {Task response = httpClient.PostAsJsonAsync (uri, test); return JsonConvert.DeserializeObjectAsync (response.Result.Content.ReadAsStringAsy nc (). Result) .Result; }}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage