2016-09-08 3 views
1

Hier Anruf meines Web-API arbeitet gut in Browser,WebAPI Aufruf funktioniert nicht in ASP.NET MVC 5 Anwendung

enter image description here

Ich mag also das vordere Ende mit MVC machen ich mvc 5 Applikations-Geschäft nur erstellen Logik wie unten

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Net; 
using System.Net.Http; 
using System.Net.Http.Formatting; 
using ProductApp.Core.Entities; 
using System.Net.Http.Headers; 

namespace ProductApp.MVC.Models 
{ 
    public class ProductClient 
    { 
     private string BASE_URL = "http://localhost:11661/api/Products"; 

     public IEnumerable<Product> findAll() 
     { 
      try 
      { 
       HttpClient client = new HttpClient(); 
       client.BaseAddress = new Uri(BASE_URL); 
       client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
       HttpResponseMessage response = client.GetAsync("product").Result; 
       if (response.IsSuccessStatusCode) 
        return response.Content.ReadAsAsync<IEnumerable<Product>>().Result; 
       return null; 
      } 
      catch 
      { 
       return null; 
      } 

     } 
    } 

dann die Ansicht

public class ProductController : Controller 
{ 
    // GET: Product 
    public ActionResult Index() 
    { 
     ProductClient pc = new ProductClient(); 
     ViewBag.listproducts = pc.findAll(); 
     return View(); 
    } 
} 

Aber sobald ich Kompilieren diese diese Art Fehler immer

enter image description here

So etwas wie

konnte nicht Datei oder Assembly ‚System.Net.Http.Formatting laden, Version = 5.2.3.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 'oder eine seiner Abhängigkeiten. Die Manifestdefinition der lokalisierten Assembly stimmt nicht mit der Assemblyreferenz überein.

dann habe ich diese answer gefunden, die nicht funktioniert, Wie kann ich dieses Problem beheben?

+2

* Entfernen Sie alle Verweise auf Code 'System.Net. *' Und 'laufen Install-Package Microsoft.AspNet.WebApi.Client' reinigen und neu erstellen Ihr Projekt * –

+1

hinzufügen Sie mischen den C# MVC Controller mit dem Web API ApiController. Sie sind anders. Lesen Sie diese http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api –

+0

@MarcusH Ich bin sehr neu in dieser Technologie , was ich tat, war GET die Web API URL dann behandeln sie auf 'ProductClient' Klasse unter' findall' Methode, dann erstellt MVC Controller und Erstellen Sie das 'ProductClient' Objekt aufrufen' findall' Methode, ist es falsch beraten Sie bitte – kez

Antwort

0

Sie haben System.Net.Http.Formatting.dll Bezug auf Ihre Lösung

Verwandte Themen