Comment puis-je appeler un WebApi méthode de MVC Méthode d'Action du Contrôleur?

Comment puis-je appeler une méthode de l'API Web MVC, à partir d'un contrôleur d'action de la méthode. C'est ce que j'essaie, c'est ma méthode de contrôleur:

public ActionResult ProductDetail(long id)
{
    using (var client = new HttpClient())
    {
        var productDetailUrl = Url.RouteUrl(
            "DefaultApi",
            new { httproute = "", controller = "ProductDetails", id = id },
            Request.Url.Scheme
        );
        var model = client
                    .GetAsync(productDetailUrl)
                    .Result
                    .Content.ReadAsAsync<ProductItems>().Result;

        return View(model);
    }
}

De mon site Web méthode de l'API:

private ProductEntities products = new ProductEntities();

public IEnumerable<ProductItems> GetProductDetail(int ID)
{            
   var produc= products.ExecuteStoreQuery<ProductItems>(
            "GetProductDetail @ProductID ", 
            new SqlParameter("@ProductID", ID)); 

   return produc;
}

Quand je fais cela, j'obtiens une erreur @ modèle de la var dans mon MVC méthode d'action après la restitution des données en disant

"Newtonsoft.Json.JsonSerializationException: Impossible de désérialiser JSON
tableau "(c'est à dire [1,2,3]) dans le type 'ProductDetails.Modèles.ProductItems'.
Le désérialisé type doit être un tableau ou mettre en œuvre une collection
interface comme interface IEnumerable, ICollection ou IList. À force de tableaux JSON
pour désérialiser ajouter le JsonArrayAttribute le type. Ligne 1,
la position 1."

Quelqu'un peut-il m'aider à faire cela...ou me suggérer un autre meilleur méthode ou corrigez-moi si je suis en train de faire mal n'importe où... je dois montrer les données renvoyées à mon avis... les données doivent être retournés à mon contrôleur

  • Je voudrais utiliser ProductItem au lieu de ProductItems pour la classe/nom de l'objet. Et à l'aide de la "var" mot entrave ces sortes de déterminer les problèmes, à mon humble avis.
InformationsquelleAutor SoftwareNerd | 2012-10-05