2011-07-07 8 views
2

Je rencontre des difficultés à utiliser un service WCF REST, qui renvoie JSON, dans une application C# ASP.NET MVC. J'essaye de consommer le service dans un contrôleur. J'ai un projet ASP.NET MVC et un projet de service dans la même solution. J'ai créé une entrée dans mon IIS local qui pointe vers le projet de service (ie http://localhost/SampleService/).The Le service WCF fonctionne parce que je peux accéder à l'URL et le bon JSON est renvoyé.)Consommez le service de repos WCF (JSON) en utilisant C# ASP.NET MVC

Quelqu'un at-il des exemples de code sur la consommation du JSON via ? un contrôleur d'un service RESTful WCF

Répondre

1

je WebChannelFactory et il a très bien fonctionné.

3

vous pouvez utiliser le DataContractJsonSerializer:

Voici un exemple:

var client = new WebClient(); 
var data = client.DownloadData("http://localhost/SampleService/GetJsonMessage"); 
var stream = new MemoryStream(data); 
var obj = new DataContractJsonSerializer(typeof(string)); 
var result = obj.ReadObject(stream).ToString(); 

Dans votre contrôleur, vous pouvez le faire pour voir le résultat

return Content(result.ToString()) 
0

Vous pouvez utiliser le haut-DataContractJsonSerializer ou JsonSerializer de la bibliothèque JSON.NET.

Je préfère ce dernier, car il est plus robuste. Parfois, le DataContractJsonSerializer ne peut pas désérialiser un objet JSON.

Exemple de code:

Product deserializedProduct = JsonConvert.DeserializeObject<Product>(jsonText); 

Pour télécharger la bibliothèque, allez à http://json.codeplex.com/

Questions connexes