2017-03-04 1 views
0

Ich kann nichts auf Google für diesen Fehler finden und ich frage mich nur, ob jemand dieses Problem zuvor aufgetreten ist. Dies ist das erste Mal, dass ich eine REST-Web-API erstelle und sie mit meiner MVC-Anwendung verbinde, indem ich einfach versuche, ein einfaches GET mit einer ID zu erstellen, um einen Detailseiten-Krankenpost-Code unten zu erstellen.Ich erhalte eine Fehlermeldung "Kann nicht von int in System.net.http.httpcompletionoption"

public ActionResult Details(Contact contactid) 
    { 
     Contact contact = new Contact(); 
     HttpClient client = new HttpClient(); 
     client.BaseAddress = new Uri("http://localhost:56194/"); 
     //CODE BELOW IS TAKING THE CLIENT AND ALLOWS IT TO ACCEPT JSON DATA 
     client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
     ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; 
     HttpResponseMessage response = client.GetAsync("api/contacts", contactid.ID).ContinueWith((Posttank) => Posttank.Result.EnsureSuccessStatusCode()); 
     if (response.IsSuccessStatusCode) 
     { 
      contact = response.Content.ReadAsAsync<Contact>().Result; 
     } 
     return View(contact); 

    } 

Und meine Web Api Methode ist:

[ResponseType(typeof(contact))] 
    public IHttpActionResult Getcontact(int id) 
    { 
     contact contact = db.contacts.Find(id); 
     if (contact == null) 
     { 
      return NotFound(); 
     } 

     return Ok(contact); 
    } 

Danke Jungs,

+2

Wo Sie diese Fehlermeldung erhalten Sie? Es würde viel helfen, auf die richtige Codezeile zu zeigen. Was der Fehler jedoch sagt ist, dass der Code irgendwann eine HttpCompletionOption erwartet und Sie stattdessen ein Int übergeben. Aus der Sicht der Dinge ist es wahrscheinlich Ihr Aufruf an client.GetAsync, wo Sie scheinen, eine Zeichenfolge und ein int zu übergeben, die keine gültige Überladung ist (siehe https://msdn.microsoft.com/en-us/library/system .net.http.httpclient.getasync (v = vs.118) .aspx für Möglichkeiten, es aufzurufen). – Chris

Antwort

-2
HttpResponseMessage response = client.GetAsync("api/contacts/"+contactid.ID).ContinueWith((Posttank) => Posttank.Result.EnsureSuccessStatusCode()); 

nur versuchen, wie dies ..

Verwandte Themen